インターネットに接続しているかどうかをリアルタイムで教えてくれる簡単なプログラムを書こうとしています。それはwww.google.com
に達した場合に必要なメッセージを出力Javaでインターネット接続をテストするプログラム
import java.net.Socket;
public class InternetConnection {
public static void main(String[] args) {
String inetAddress = "www.google.com";
int port = 80;
while (true) {
try {
Socket socket = new Socket(inetAddress, port);
System.out.println("Connected to the internet");
} catch (Exception e) {
System.out.println("Not connected to the internet");
}
}
}
}
:これは私がやっているものです。しかし、インターネットから切断して正常に機能しているかどうかを確認するには、「はインターネットに接続されていません。」と表示されたら、「」と表示されますが、 「インターネットに接続しました」というメッセージが表示されます。私は何が間違っているのかわからない...
P.S.私はこれがインターネット接続があるかどうかをチェックする最良の方法ではないことを知っています。
whileループに遅延を追加すると( 'Thread.sleep(1000);'はうまくいくはずです)どうしますか?あまりにも印刷しようとする可能性があり、メッセージを印刷するとすぐに – phflack
から数分前にデータが印刷されてしまい、ソケットインスタンスが範囲外になる可能性があります。あなたのプログラムは完了しました。あなたを待っているわけではありません。 –