Ios 如何从局域网上的ip地址解析局域网中设备的主机名?
我必须从LAN上的ip地址解析LAN中设备的主机名。 我有一些代码适用于外部ip地址,但不适用于内部连接的设备 下面我附上了代码 如果您有任何想法,从iOS/OSX中的IP获取远程机器的主机名,这将使我大开眼界Ios 如何从局域网上的ip地址解析局域网中设备的主机名?,ios,macos,networking,Ios,Macos,Networking,我必须从LAN上的ip地址解析LAN中设备的主机名。 我有一些代码适用于外部ip地址,但不适用于内部连接的设备 下面我附上了代码 如果您有任何想法,从iOS/OSX中的IP获取远程机器的主机名,这将使我大开眼界 int error; struct addrinfo *results = NULL; error = getaddrinfo("173.194.34.24", NULL, NULL, &results); if (error != 0) { NSLog (@"Co
int error;
struct addrinfo *results = NULL;
error = getaddrinfo("173.194.34.24", NULL, NULL, &results);
if (error != 0)
{
NSLog (@"Could not get any info for the address");
}
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);
还是与NSHost一起
NSLog(@"%@ \n%@",[NSHost currentHost],[[NSHost hostWithAddress:@"172.17.241.61"] names]);
直接对特定DNS进行DNS查找的唯一方法是自己实现协议或使用一些库
您的局域网中有DNS服务器吗?如果没有,您希望获得什么主机名?是的,我有DNS服务器,如何通过DNS服务器获得主机名您应该将DNS服务器的IP设置为网络配置或将其配置为DHCP服务器。然后将DNS服务器配置为转发无法解析到ISP DNS服务器的请求。对我来说,每次CFHostStartInfo解决方案失败时都是这样。如何解决这个问题,是否有其他选择?是否使用kCFHostNames调用CFHostStartInfoResolution?