我有一个本地网络上的Ip地址列表,我想知道哪个设备持有每个地址,我怎么知道?
引自InetAddress
的文档:
主机名解析
主机名到ip地址的解析为通过使用本机的组合来完成配置信息和网络命名服务,如DNS (Domain Name System)和NIS (Network Information Service)。的正在使用的特定命名服务在默认情况下是本地的机器配置一个。对于任何主机名,它对应的IP返回地址反向名称解析意味着对于任何IP地址,主机
InetAddress类提供了将主机名解析到它们的IP地址,反之亦然。
这个方法就是InetAddress.getHostName()
。
用ip地址创建一个InetAddress对象,然后对其调用getHostName
InetAddress inetAddr = InetAddress.getByName("192.168.1.20");
String hostname = inetAddr.getHostName();
请注意,当在Android上像这样实例化inetAddress对象时,不能保证反向查找完成,因此您需要在使用它之前检查hostname的值是否为null。