Код, который я использовал, показан ниже:
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-адрес?