Java在Linux问题上检查互联网连接

时间:2014-10-14 04:12:39

标签: java linux

我需要检查互联网连接,所以我写了这个小班:

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中,它有问题:如果我从互联网上断开这台机器,并运行这个程序,之后我将这台机器连接到互联网,程序总是说无法连接。

任何帮助?

1 个答案:

答案 0 :(得分:0)

程序也可以在Linux环境中正常运行。如果有,请检查您的环境问题。代码没问题