过去几周我做了相当多的研究,试图创建一个连接诊断工具,我不想只是检查连接是否可用,而是诊断是否存在抖动、数据包丢失等。 。
到目前为止,Java 似乎不支持真正的 ICMP 请求,并且有一些解决方法,但没有一个能够实现我想要做的事情。
有谁知道是否可以构建这种工具或者我应该开始研究其他选项?
看来 InetAddress 在可能的情况下正在使用 ICMP:
https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html
看一下 public boolean isReachable(int timeout)
测试该地址是否可达。尽最大努力
实施尝试到达主机,但防火墙和服务器
配置可能会阻止请求,导致无法访问状态
虽然某些特定端口可能可以访问。典型的实现
如果可以获得权限,将使用 ICMP ECHO REQUEST,
否则它将尝试在端口 7 上建立 TCP 连接(Echo)
目的主机的。
您可以在这里找到一个简单的使用示例:如何测试远程系统是否可达 https://stackoverflow.com/questions/7685439/how-to-test-if-a-remote-system-is-reachable或这里如何 ping 通 IP 地址 https://stackoverflow.com/questions/11506321/how-to-ping-an-ip-address
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)