How to get Domain Name of IP address and IP address from Domain Name in Objective C?(如何从Objective C中的域名获取IP地址的域名和IP地址?)
问题描述
我能够通过使用此问题的答案获取我正在使用的设备/机器的当前 IP 地址.
I am able to get the current IP address of my device/machine that I am using - by using this question's answer.
我已经解决了这个问题.Java 允许从域名中获取 IP 地址.在Objective C中可能吗?怎么样?
I have gone through this question. Java allows to get the IP address from a domain name. Is it possible in Objective C? How?
第二个问题是如何通过 IP 地址获取设备/机器的名称.例如,我有一个 IP 地址 192.168.0.74 = 设备名称是什么?在目标 C 中?
The second question is How to get the name of device/machine by using its IP address. Say for example I have an IP address 192.168.0.74 = What is the device name? in Objective C?
推荐答案
我不确定这是否是最好的方法,但它主要适用于我.我输入了 StackOverflow 的 IP 地址 (69.59.196.211),它返回了 stackoverflow.com,但我输入了 Google 的一个 IP 地址 (210.55.180.158),它返回了 cache.googlevideo.com(所有结果,而不仅仅是第一个).
I'm not sure if this is the best way to do this, but it works for me, mostly. I put in StackOverflow's IP addresses (69.59.196.211) and it gave me back stackoverflow.com, but I put in one of Google's IP addresses (210.55.180.158) and it gave me back cache.googlevideo.com (for all results, not just the first one).
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);
地址可以有多个名称,因此您可能不想停留在找到的第一个名称.
There can be multiple names for the address, so you might not want to stop at the first one you find.
这篇关于如何从Objective C中的域名获取IP地址的域名和IP地址?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从Objective C中的域名获取IP地址的域名和IP地址?
基础教程推荐
- AdMob 广告未在模拟器中显示 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
