您能在Java中运行真正的ping命令吗?您能、命令、Java、ping

2023-09-03 11:12:34 作者:$ playboy.

过去几周我做了相当多的研究,试图创建一个连接诊断工具,我不太想只检查连接是否可用,而是诊断是否存在抖动、丢包等。

到目前为止,Java似乎不支持真正的ICMP请求,而且有一些解决方法,但都没有实现我想要做的事情。

干货 WINCC使用普通网卡通过TCP IP连接PLC

有人知道是否可以构建此类工具,或者我是否应该开始寻找其他选择?

推荐答案

InetAddress似乎正在尽可能地使用ICMP:

https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html

查看公共布尔值isReacable(int超时)

测试该地址是否可达。尽最大努力的是 实施尝试访问主机,但防火墙和服务器 配置可能会阻止导致无法到达状态的请求 而某些特定端口可能是可访问的。典型的实现 如果可以获得特权,将使用ICMP回应请求, 否则,它将尝试在端口7(Echo)上建立TCP连接 目标主机的。

您可以在这里找到一个简单的使用示例: How to test if a remote system is reachable 或在此处How to ping an IP address