我有一个Java应用程序,每10分钟运行一次。所以无论何时线程开始执行,我都必须检查是否有互联网连接。所以我为此使用Socket类。但是这里的问题是如果线路没有连接到我的系统,套接字类就可以正常工作。对我来说,如果我插入电线,那么我有局域网,但没有互联网。在这种情况下,套接字类无法引发错误。这里是我的代码 -在java中检查互联网连接
Socket socket = null;
try {
socket = new Socket("www.google.com", 80);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (socket != null) try { socket.close();
}
catch(IOException e) {
e.printStackTrace();
}
System.exit(0);
}
我检查了这里的代码 - Detect internet Connection using Java。但是使用getContent()并没有帮助。
与你的问题没有关系,但你应该知道如果catch会调用'System.exit(0)'(至少在Java7中)'finally'部分不会被执行。 – Pshemo