如何查找主机ping时间

时间:2013-06-01 16:48:59

标签: java ping java-6

我正在尝试查找ping时间(使用Windows 8,Java 6)。我正在使用System.currentTimeMillis()方法来查找ping时间,但它返回一个奇怪的值。例如,当我正在ping一个localhost时,它返回1000毫秒。

请帮我创建一个找到主机ping时间的例程。

public int pingHost(String host){
    Long start = System.currentTimeMillis();
    if (!InetAddress.getByName(host).isReachable(2000)) return -1;
    return (int) (System.currentTimeMillis()-start);
}

P.S。这个问题不是How to do a true Java ping from Windows?的d d 仅仅检查主机是否在线是不够的。我需要测量连接速度并找到“ping time”值。

1 个答案:

答案 0 :(得分:0)

代码似乎正确,并且在我的操作系统(Ubuntu Linux内核3.0.0-16)下为本地主机打印4毫秒。但是,已知isReachable在Windows平台上存在问题。如果您需要ping正在侦听已知端口的服务器,请重新尝试打开TCP / IP连接。