嗨,在 2 个不同的本地网络中有很多 iPad,我想在 Objective-C 中以编程方式了解基于每个 iPad 中 IP 地址的本地域。例如,我在本地域“project.local”中有一台 iPad。在这个域中,我们有许多 IP 地址为 192.168.12.50。IOS 设备自动获取其 IP 地址。
现在我想在objective-C中以编程方式获得知道IP地址的域名“projet.local”?
嗨,在 2 个不同的本地网络中有很多 iPad,我想在 Objective-C 中以编程方式了解基于每个 iPad 中 IP 地址的本地域。例如,我在本地域“project.local”中有一台 iPad。在这个域中,我们有许多 IP 地址为 192.168.12.50。IOS 设备自动获取其 IP 地址。
现在我想在objective-C中以编程方式获得知道IP地址的域名“projet.local”?
试试这个(类似于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);