以下是我用来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;
}
答案 0 :(得分:0)
在Java中创建一个进程并在其中执行ping命令。 工作已知isReachable
方法。
有关详细信息和代码示例,请参阅this答案。
答案 1 :(得分:0)
你试过
吗?isReachable(NetworkInterface netif,int ttl,int timeout) 测试该地址是否可达。
您的生活时间可能很短,因此连接永远不会到达目的地。