Как получить IP-адрес с помощью ndk в Android (не localhost)? - PullRequest
3 голосов
/ 08 февраля 2012

Код, который я использовал, показан ниже:

ANSICHAR HostName[256];
gethostname(HostName,256);

struct addrinfo *AddrInfo = NULL;
getaddrinfo(HostName, NULL, NULL, &AddrInfo);

for (struct addrinfo *i = AddrInfo; i != NULL; i = i->ai_next)
{
    if (i->ai_family == AF_INET)
    {
        const in_addr &IP = ((sockaddr_in *) i->ai_addr)->sin_addr;
        if (IP.s_addr != 0)
        {
            Addr.SetIp(IP);
            break;
        }
    }
}

Проблема в том, что «HostName», полученное «gethostname (HostName, 256)», является «localhost».Итак, последний IP-адрес, который я получаю, - «127.0.0.1».Он различается по IP-адресу, который я использую "adb shell ifconfig wlan0".

Как мне получить правильный IP-адрес?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...