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