2016-11-09 7 views
0

私は職場でC#プログラムを作成しています。ネットワークへの接続が確立されているかどうかを判断する必要があります。私は検索して検索したところ、インターネット接続に関してここにたくさんの投稿があることがわかりましたが、ネットワーク接続を検出することはほとんどありませんでした。私は、非常に多くのコードを持っていない私が持っているすべてはこれです:インターネット接続ではなくネットワーク接続が確立されているかどうかを確認する方法

NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); 
        foreach (NetworkInterface Interface in interfaces) 
        { 
         //some testing criteria goes here 
        } 

が、これは、ネットワーク接続用を探すためにだけ、ネットワーク接続またはない何のプロパティと値に適用されるかどうかはわかりません。すべての助けが大いに感謝されるだろう。

答えて

0

NICの設定済みのIPがインターネット経由でルーティング不可能なアドレスであることを確認します。つまり、クラスA、B、またはCネットワークを使用して構成されています。

https://en.wikipedia.org/wiki/Private_network

これらのアドレスは、インターネット上で使用して、ローカルネットワークにサービスを提供することができません。

+0

IPが静的な場合はどうなりますか?それは現在、ネットワーク接続があることを証明するものではありません。ケーブルを抜くことができます。 –

+0

Windows WMIを使用して、ネットワーク接続の状態を判断できます。または、私は、この種のものを検出できる.NETのアプリケーションイベントがあると信じています。 –

+0

これはまた役立ちますhttp://msdn.microsoft.com/en-us/library/ee264321(VS.85).aspx –

関連する問題