Ios 如何在Objective-C中获得知道ip地址的本地域的名称?

Ios 如何在Objective-C中获得知道ip地址的本地域的名称?,ios,cocoa-touch,Ios,Cocoa Touch,您好,有很多iPad位于2个不同的本地网络中,我想通过Objective-C编程了解每个iPad中基于IP地址的本地域。 例如,我在本地域“project.local”中有一台iPad。在这个域中,我们有许多IP地址,如192.168.12.50。IOS设备自动获取其ip地址 现在我想在objective-C中获得域名“projet.local”,知道ip地址???试试这个(类似于dreamlax的答案): struct addrinfo *results = NULL; char hostna

您好,有很多iPad位于2个不同的本地网络中,我想通过Objective-C编程了解每个iPad中基于IP地址的本地域。 例如,我在本地域“project.local”中有一台iPad。在这个域中,我们有许多IP地址,如192.168.12.50。IOS设备自动获取其ip地址

现在我想在objective-C中获得域名“projet.local”,知道ip地址???

试试这个(类似于dreamlax的答案):

struct addrinfo *results = NULL;
char hostname[NI_MAXHOST] = {0};

if ( getaddrinfo("192.168.12.50", NULL, NULL, &results) != 0 )
    return;

for (struct addrinfo *r = results; r; r = r->ai_next)
{
    if (getnameinfo(r->ai_addr, r->ai_addrlen, hostname, sizeof hostname, NULL, 0 , 0) != 0)
        continue; // try next one
    else
    {
        NSLog (@"Found hostname: %s", hostname);
        break;
    }
}

freeaddrinfo(results);