0

ユーザーがインターネットに接続しているかどうかを常に確認する必要があるJavaアプリをプログラミングしています。私は常にURLにpingを送信し、応答を読み取ることでこれを行っています。次のシナリオでアプリを動作させたい アプリを起動したときにユーザーがインターネットに接続していたが、その間にインターネット接続が失われたとします。別のスレッドで 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 に答える