0
在我的Java应用程序中,我需要一次获得多个连接的ping,我已经尝试对每个连接使用一个线程并测量响应时间,但它们并不都是正确的。线程安全InetAddress.isReachable()
是否有线程安全的方式来测量连接的ping /响应时间?我目前正在使用:
Thread thread = new Thread(new Runnable() {
public void run(){
long start = System.currentTimeMillis();
someInetAddress.isReachable(5000);
long timeTaken = System.currentTimeMillis() - start;
}
});
然而timeTaken似乎并不为用户提供150平越来越向5000是正确的(可能更多,因为它似乎已经超时)
帮助表示赞赏! Keir
编辑:好的发现,由于Port 7对某些人而言是关闭的,有没有其他办法可以在没有Port 7关闭的情况下ping他们?
是否所有用户都超时? – christopher 2013-04-30 16:41:12
你必须在所有线程之间共享'someInetAddress'吗? – HeatfanJohn 2013-04-30 16:43:35
防火墙?客户端是否允许ICMP Ping和/或TCP端口7(Echo)? – Fildor 2013-04-30 16:43:46