是否有任何ping icmp(echo请求)的方法而不是使用isReachable? isReachable在端口7上建立TCP连接,当我使用wireshark时,我没有在Linux上看到任何ICMP数据包和Linux上的ICMP类型3(不是类型8和0)。如果有人有建议或解决方案,请告诉我。非常感谢!
答案 0 :(得分:3)
ICMP往往需要管理权限,因此以普通用户身份运行的Java程序无法直接使用ICMP。
我想到的唯一解决方法是生成一个外部程序来运行操作系统提供的“ping”命令并解析其输出。
答案 1 :(得分:0)
我们使用Parallec库(http://www.parallec.io/)获得了好运。
在此之前,我们使用Runtime.exec()运行Linux提供的ping命令行实用程序。
如上所述,如果您以特权用户身份运行,isReachable将使用ICMP,否则它将使用TCP。