Como descobrir meu ip em C?
hey cara, nao sei se entendi direito o que voce ker, mas a funcao inet_ntoa faz isso, aki vai um programa q fiz:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<stdlib.h>
#include<arpa/inet.h>
main(int argc, char *argv[])
{
int sock;
struct sockaddr_in server, cliente;
int tamanho;
if(argc != 2)
{
printf("%s <porta>\n",argv[0]);
exit(EXIT_FAILURE);
}
sock = socket(AF_INET, SOCK_STREAM, 0);
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons(atoi(argv[1]));
server.sin_family = AF_INET;
bind(sock, (void *)&server, sizeof(server));
listen(sock, 5);
tamanho = sizeof(struct sockaddr_in);
accept(sock, (void*)&cliente, &tamanho);
printf("%s",inet_ntoa(cliente.sin_addr));
close(sock);
}
se quiser, pode colocar um loop infinito antes de accept pra nao fechar a porta após a conexao, t+