Ошибка gethostbyaddr Неизвестный хост

#include <stdio.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main () {
in_addr ip;
ip.s_addr = inet_addr("173.194.71.94"); // www.google.fr IP
hostent* hostnames = gethostbyaddr(&ip, sizeof(ip), AF_INET);
if (hostnames != NULL && hostnames[0].h_name != NULL) {
printf("%s\n", hostnames[0].h_name);
return 0;
} else {
herror("gethostbyaddr");
return 1;
}
}

Возвращает «gethostbyaddr: Неизвестный хост». Я пробовал с разными IP-адресами. В чем дело ?

Кто-нибудь может мне помочь?
Спасибо

1

Решение

Ваш код не компилируется для меня. Я получаю ошибки на in_addr а также hostent, Но если я изменю декларации тех struct in_addr а также struct hostent соответственно, он компилируется без предупреждений и выдает следующий вывод при запуске:

lb-in-f94.1e100.net

что кажется правильным.

Если он компилируется как есть для вас, то вы, вероятно, используете другую операционную систему. Я пробовал MacOS и Linux с одинаковыми результатами.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]