我有一个本地网络上的 IP 地址列表,我想知道哪个设备拥有每个地址,我怎么知道?
问问题
2731 次
2 回答
1
引用以下文档InetAddress
:
主机名解析
主机名到 IP 地址的解析是通过结合使用本地机器配置信息和网络命名服务(例如域名系统 (DNS) 和网络信息服务 (NIS))来完成的。默认情况下,正在使用的特定命名服务是本地计算机配置的服务。对于任何主机名,都会返回其对应的 IP 地址。反向名称解析意味着对于任何 IP 地址,都会返回与该 IP 地址关联的主机。
InetAddress 类提供将主机名解析为其 IP 地址的方法,反之亦然。
那么这个方法就是InetAddress.getHostName()
。
于 2013-03-17T11:18:11.037 回答
1
使用 ip 地址创建一个 InetAddress 对象,然后在其上调用 getHostName
InetAddress inetAddr = InetAddress.getByName("192.168.1.20");
String hostname = inetAddr.getHostName();
请注意,虽然不能保证在 Android 上像这样实例化 inetAddress 对象时会完成反向查找,因此您需要在使用它之前检查主机名的值是否不为空。
于 2013-03-17T11:20:30.910 回答