InetAddress.getByName(ip).isReachable(timeout);
Posted
技术标签:
【中文标题】InetAddress.getByName(ip).isReachable(timeout);【英文标题】: 【发布时间】:2013-04-23 08:00:12 【问题描述】:InetAddress.getByName(ip).isReachable(2000) 用于在 2 秒内找到系统的可达性。但是当我试图找到多个系统的可达性时(比如 n系统)在我的网络中串行,它需要 2n 秒。有没有其他方法,让我可以在更短的时间内找到它们的可达性,比如 3 到 4 秒?
【问题讨论】:
同时使用多个线程 @Extreme Coders 感谢您的回复。但是,除了线程还有其他方法吗? 查看this帖子 【参考方案1】:您可以使用 jnetpcap 自己制作 ping 数据包,并听取响应。 您可以(几乎)一次将所有 ping 请求发送到网络,并在(稍长于)2 秒内完成。 不过,您需要知道 mac 地址。
【讨论】:
以上是关于InetAddress.getByName(ip).isReachable(timeout);的主要内容,如果未能解决你的问题,请参考以下文章
完美解决Android InetAddress.getByName(ip).isReachable(timeout) 一直返回false 的方案
完美解决Android InetAddress.getByName(ip).isReachable(timeout) 一直返回false 的方案
在java中,InetAddress.getLocalHost() 和 InetAddress.getByName("127.0.0.1") 有啥区别