0

我正在编写一个 Java 应用程序,我需要在其中不断检查用户是否连接到互联网。我通过不断地 ping 一个 url 并阅读响应来做到这一点。我希望我的应用程序在以下情况下工作假设当我启动我的应用程序时,用户已连接到互联网,但在两者之间互联网连接丢失。我将 url 固定在一个单独的线程中,但问题是如果在线程挂起之间互联网断开连接并且它不会给出互联网连接丢失的错误。我正在使用以下代码

p1 = java.lang.Runtime.getRuntime().exec("ping www.yahoo.com");

                        BufferedReader input = new BufferedReader(new InputStreamReader(p1
                .getInputStream()));

                        while ((line = input.readLine()) != null) {
            System.out.println(line);
        }

        input.close();
4

1 回答 1

4

不要调用外部程序来执行此操作:

InetAddress inet = InetAddress.getByName("www.yahoo.com");
boolean ok = inet.isReachable(timeout);
于 2012-06-28T16:00:23.987 回答