有什麼辦法可以檢測到網絡破損或網絡較弱,使用Java?如何使用java程序檢測網絡破損?
0
A
回答
1
可以間歇測試http連接到一個已知的宿主如谷歌和檢測ConnectionExceptions
URLConnection con = new URL("http://www.google.com/").openConnection();
con.setUseCaches(false);
con.setAllowUserInteraction(false);
while(true)
{
try
{
con.connect();
con.getContentType(); // just to make sure the connection works
// sleep for some interval
}
catch(IOException e)
{
// handle and break
}
}
1
一般來說,這是不可能檢測和診斷網絡「破損」在Java 100%的準確度或用任何其他語言。事實上,甚至不清楚什麼構成「破損」。這就是爲什麼(例如)當您在URL中輸入虛假DNS名稱或IP地址時,您最喜歡的Web瀏覽器會給您一個模糊的錯誤消息。
的問題是,有很多情況下這是不可能知道是什麼引起的網絡交互失敗:
- 是我的機器拔掉?
- 是在我的本地網絡上嘰嘰喳喳?
- 由於電源故障,我的ISP的網絡已關閉?
- 是一個互聯網路由不穩定導致我的數據包被路由到土庫曼斯坦?
- 是Google down ...還是被某些俄羅斯黑客攻擊者拒絕?
許多這些情況很難診斷。並且嘗試從Java診斷事情比較困難,因爲Java不提供用於發送ICMP數據包的標準API。基本上,您只能嘗試解釋嘗試連接套接字失敗時返回的Java異常。
國際海事組織,你最好的選擇是利用現有的命令行工具,如'ping'和'traceroute',並學習閱讀茶葉。或者如果這太難了,請將網絡診斷留給專家。
相關問題
- 1. Modernizr觸摸檢測破損
- 2. 如何檢測網絡攝像頭是否連接使用java
- 3. 如何在網絡應用程序中檢測手機
- 4. 應用程序如何檢測網絡上的設備
- 5. 如何檢測語言iPhone的網絡應用程序?
- 6. 檢測破損的套接字
- 7. Python檢測到破損的編碼
- 8. 單元測試Java多線程網絡應用程序
- 9. 使用javascript檢測到破損的圖像
- 10. 檢測「只使用2G網絡」設置
- 11. 使用Java檢測程序GUI
- 12. 如何從Windows應用程序檢測禁用的網絡接口連接?
- 13. 如何在Google App Engine的網絡應用程序中檢測在線用戶
- 14. 如何檢測輸入上的破損管道?
- 15. 如何檢測網絡斷開連接?
- 16. 如何檢測網絡中的變化?
- 17. 如何檢測網絡空閒時間?
- 18. 如何在網絡上檢測iPhone?
- 19. Yii應用程序破損的url
- 20. 如何使用C/java檢測活動應用程序?
- 21. django網絡應用程序測試
- 22. 測試網絡應用程序C#
- 23. 網絡攝像機,如何在網絡上檢測它?
- 24. 如何檢查Flash網絡應用程序中的網絡連接?
- 25. 將我的iOS應用程序檢測爲網絡瀏覽器
- 26. iPhone應用程序在後臺運行時檢測WiFi網絡
- 27. 檢測網絡應用程序是否已「安裝」
- 28. 檢測混合應用程序中的初始網絡狀態
- 29. 網絡檢查應用程序flex
- 30. Java:如何讓客戶端檢測網絡上的服務器?
我認爲downvoter有更好的解決方案? – pstanton 2010-01-15 08:38:33