您在2个不同的本地网络中拥有许多iPad,我想在Objective-C中以编程方式了解每个iPad中基于IP地址的本地域。 例如,我在本地域“iPad.local”中有一台iPad。在此域中,我们有许多IP地址为192.168.12.50。 IOS设备自动获取其IP地址。
现在我想在Objective-C中获得programmaticaly域名“projet.local”知道ip地址吗?
答案 0 :(得分:2)
试试这个(类似于dreamlax的回答https://stackoverflow.com/a/3575383/1758762):
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);