C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でインターネットに接続しているかどうかを確認する方法


C#でマシンがインターネットに接続されているかどうかを確認する方法はいくつかあります。その中でよく使われるのが、System.Net名前空間です。この名前空間には、URIで識別されるリソースとの間でデータを送受信するための共通メソッドが用意されています。

特にWebClientクラスやHttpClientクラスを利用すると、ローカル環境、イントラネット、インターネット上にある任意のURIリソースに対して、簡単にデータの送受信を行うことができます。

以下の例では、指定したリソースからデータをStreamとして取得するOpenReadメソッドを使用しています。具体的な仕組みは、「https://google.com/generate_204」というURLに実際にアクセスを試み、アクセスが成功すればtrueを、失敗(例外発生)すればfalseを返すことで、インターネット接続の有無を判定します。

下記のサンプルコードは、whileループを使って繰り返し接続状態をチェックする構造になっています。インターネットに接続されていれば「Connected」を表示してループを抜け、未接続の場合は「Not Connected」を表示して再試行を続けます。この仕組みにより、アプリケーション起動時などに接続が確立されるまで待機するような処理を実現できます。

サンプルコード

static void Main(string[] args){
    var keepRetrying = true;
    while (keepRetrying){
        if (IsConnectedToInternet()){
            keepRetrying = false;
            System.Console.WriteLine("Connected");
        } else {
            keepRetrying = true;
            System.Console.WriteLine("Not Connected");
        }
    }
}
public static bool IsConnectedToInternet(){
    try{
        using (var client = new WebClient())
        using (client.OpenRead("https://google.com/generate_204"))
        return true;
    }
    catch { }
    return false;
}

実行結果

Connected

  1. Ubuntuのバージョンを確認する方法|ターミナルとGNOMEデスクトップで簡単チェック

    Ubuntuはユーザー向けに新しいアップデートを頻繁にリリースしています。そのリリースサイクルが速いため、Linuxユーザーは自分のシステムで現在使用しているバージョンを忘れてしまうことも少なくありません。しかし、Ubuntuのバージョンは複数の方法で簡単に確認できます。 このガイドでは、ターミナルとGNOMEデスクトップを使ってUbuntuのバージョンを確認する方法を詳しく解説します。 Ubuntuのバージョンを確認する方法 Ubuntuは約6ヶ月ごとに新しいバージョンをリリースしており、Long Term Support(LTS)版は2年ごとに提供されます。LTS版のサポート期間は5年間で

  2. Windows Insiderビルド(Flighting)を使用しているかどうかを確認する方法

    Windows Insiderは、Microsoft Windowsチームが提供するプログラムで、誰でも次期バージョンのWindowsを先行してテストできる仕組みです。選択したチャネルによってビルドの安定性は異なり、不具合が多いものから比較的安定したものまでさまざまです。この機能はWindowsに組み込まれており、オプトイン方式のため、意図的に登録しない限り参加することはありません。Flighting(フライティング)とは、Windowsチームが使用する用語で、自分のデバイス上でWindows 10 Insider Previewビルドを実行することを指します。Windows Insiderビ