1

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

现在我想在objective-C中以编程方式获得知道IP地址的域名“projet.local”?

4

1 回答 1

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);
于 2013-03-22T13:42:39.427 回答