在Java中ping IP地址时的响应超时

时间:2015-01-09 22:07:04

标签: java ip ping inetaddress

以下是我用来ping IPv4-Address并以ms为单位记录实际响应时间的方法。 不幸的是,我从来没有得到有效的回复..请求总是超时。始终返回0。 请帮助:)

private long pingHost(String host, int port) {
    try {                   
        Inet4Address inet4 = (Inet4Address)InetAddress.getByName(host);         
        long start = System.currentTimeMillis();
        if(inet4.isReachable(5000)){
            long end = System.currentTimeMillis();
            long total = end-start;
            System.out.println(total);
            return total;
        }   

    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return 0;

}

2 个答案:

答案 0 :(得分:0)

在Java中创建一个进程并在其中执行ping命令。 工作已知isReachable方法。

有关详细信息和代码示例,请参阅this答案。

答案 1 :(得分:0)

你试过

吗?

isReachable(NetworkInterface netif,int ttl,int timeout) 测试该地址是否可达。

您的生活时间可能很短,因此连接永远不会到达目的地。