有什么办法可以检测到网络破损或网络较弱,使用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. 如何检测网络摄像头是否连接使用java
- 2. 应用程序如何检测网络上的设备
- 3. 如何在网络应用程序中检测手机
- 4. 检测破损的套接字
- 5. 单元测试Java多线程网络应用程序
- 6. 使用Java检测程序GUI
- 7. 如何检测输入上的破损管道?
- 8. 如何从Windows应用程序检测禁用的网络接口连接?
- 9. 如何在Google App Engine的网络应用程序中检测在线用户
- 10. 如何检测网络空闲时间?
- 11. 如何检测网络中的变化?
- 12. 如何检测网络断开连接?
- 13. 如何使用C/java检测活动应用程序?
- 14. 使用网络摄像头进行Java运动检测
- 15. django网络应用程序测试
- 16. 测试网络应用程序C#
- 17. 网络摄像机,如何在网络上检测它?
- 18. 将我的iOS应用程序检测为网络浏览器
- 19. iPhone应用程序在后台运行时检测WiFi网络
- 20. 检测混合应用程序中的初始网络状态
- 21. Java:如何让客户端检测网络上的服务器?
- 22. Delphi应用程序如何检测Windows PC的网络代理设置?
- 23. 如何使用C#在Windows中检测网络位置类型?
- 24. 如何使用Node.js检测网络更改
- 25. Java应用程序和网络命令
- 26. java:网络摄像头应用程序
- 27. Heroku的Java应用程序的网络
- 28. 网络使用Java
- 29. libevent2 HTTP未检测客户端网络打破
- 30. 有损网络与拥塞网络
我认为downvoter有更好的解决方案? – pstanton 2010-01-15 08:38:33