Sag*_*ari 3 iphone dns network-programming objective-c ip-address
我可以通过使用此问题的答案来获取我正在使用的设备/机器的当前 IP 地址。
我已经经历过这个问题了。Java允许从域名获取IP地址。在 Objective C 中可能吗?如何?
第二个问题是如何使用设备/机器的 IP 地址获取设备/机器的名称。举例来说,我有一个 IP 地址 192.168.0.74 = 设备名称是什么?在目标 C 中?
我不确定这是否是最好的方法,但它大多数情况下对我有用。我输入 StackOverflow 的 IP 地址 (69.59.196.211),它返回了stackoverflow.com,但我输入了 Google 的一个 IP 地址 (210.55.180.158),它返回了我cache.googlevideo.com(所有结果,不仅仅是第一个结果)。
int error;
struct addrinfo *results = NULL;
error = getaddrinfo("69.59.196.211", NULL, NULL, &results);
if (error != 0)
{
NSLog (@"Could not get any info for the address");
return; // or exit(1);
}
for (struct addrinfo *r = results; r; r = r->ai_next)
{
char hostname[NI_MAXHOST] = {0};
error = getnameinfo(r->ai_addr, r->ai_addrlen, hostname, sizeof hostname, NULL, 0 , 0);
if (error != 0)
{
continue; // try next one
}
else
{
NSLog (@"Found hostname: %s", hostname);
break;
}
}
freeaddrinfo(results);
Run Code Online (Sandbox Code Playgroud)
该地址可以有多个名称,因此您可能不想在找到的第一个名称处停止。
| 归档时间: |
|
| 查看次数: |
5896 次 |
| 最近记录: |