我需要检查互联网连接,所以我写了这个小班:
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Timer;
import java.util.TimerTask;
public class TestConnection {
public boolean isInternetAccessed() {
try {
URL url = new URL("http://www.google.com");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(4000);
con.connect();
if (con.getResponseCode() == 200) {
return true;
} else {
return false;
}
} catch (Exception exception) {
System.out.println("No Connection");
return false;
}
}
public static void main(String[] args) {
Timer timer = new Timer();
int period = 10000;
timer.scheduleAtFixedRate(new TimerTask() {
TestConnection internetCheck = new TestConnection();
public void run() {
try {
System.out.println("Starting..................");
System.out.println("Internet Status: " + internetCheck.isInternetAccessed());
System.out.println("Sleeping..................");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}, 0, period);
}
}
这个程序在Window机器上的Java 1.7中运行良好。 但是在Linux中,它有问题:如果我从互联网上断开这台机器,并运行这个程序,之后我将这台机器连接到互联网,程序总是说无法连接。
任何帮助?
答案 0 :(得分:0)
程序也可以在Linux环境中正常运行。如果有,请检查您的环境问题。代码没问题