2012-01-18 47 views
1

当我做一个java.net.URLConnection.connect()它给我java.net.UnknownHostException当服务器关闭。如何确定客户端的互联网连接是否已关闭?

但是,我发现如果我的网络连接断开,该功能也会将我抛出java.net.UnknownHostException

那么,如何确定它是否是服务器问题(服务器故障)还是客户端问题(我的网络连接断开)?

+0

一个快速的黑客将检查另一台服务器。 – 2012-01-18 06:36:37

+0

它不应该抛出一个[SocketTimeoutException](http://docs.oracle.com/javase/7/docs/api/java/net/SocketTimeoutException.html)? – styfle 2012-01-18 06:36:39

+0

可能是重复的http://stackoverflow.com/questions/1139547/detect-internet-connection-using-java ?? – 2012-01-18 06:37:35

回答

1

在一般情况下,你不能。 UnknownHostException表示将主机名解析为IP地址失败。这可能是由于本地DNS设置失败,连接到您的ISP DNS失败,/ etc/hosts中的错误以及可能的其他一些故障情况。很容易想象主机名解析失败但互联网连接正常,或者互联网连接断开但主机名解析起作用的情况。