次の方法で共有


NetworkChange クラス

定義

ネットワーク インターフェイス (ネットワーク カードやアダプターなど) のインターネット プロトコル (IP) アドレスが変更されたときにアプリケーションで通知を受信できます。

public ref class NetworkChange abstract sealed
public ref class NetworkChange
public ref class NetworkChange sealed
public static class NetworkChange
public class NetworkChange
public sealed class NetworkChange
type NetworkChange = class
Public Class NetworkChange
Public NotInheritable Class NetworkChange
継承
NetworkChange

次のコード例では、アドレスの変更をリッスンし、イベントが発生したときにネットワーク インターフェイスの状態を NetworkAddressChanged 表示します。

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
void AddressChangedCallback( Object^ /*sender*/, EventArgs^ /*e*/ )
{
   array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
   System::Collections::IEnumerator^ myEnum = adapters->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      NetworkInterface^ n = safe_cast<NetworkInterface^>(myEnum->Current);
      Console::WriteLine( "   {0} is {1}", n->Name, n->OperationalStatus );
   }
}

int main()
{
   NetworkChange::NetworkAddressChanged += gcnew NetworkAddressChangedEventHandler( AddressChangedCallback );
   Console::WriteLine( "Listening for address changes. Press any key to exit." );
   Console::ReadLine();
}
using System;
using System.Net;
using System.Net.NetworkInformation;

namespace Examples.Net.AddressChanges
{
    public class NetworkingExample
    {
        public static void Main()
        {
            NetworkChange.NetworkAddressChanged += new
            NetworkAddressChangedEventHandler(AddressChangedCallback);
            Console.WriteLine("Listening for address changes. Press any key to exit.");
            Console.ReadLine();
        }
        static void AddressChangedCallback(object sender, EventArgs e)
        {

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach(NetworkInterface n in adapters)
            {
                Console.WriteLine("   {0} is {1}", n.Name, n.OperationalStatus);
            }
        }
    }
}
Imports System.Net
Imports System.Net.NetworkInformation

Public Class NetworkingExample
    Public Shared Sub Main()
        AddHandler NetworkChange.NetworkAddressChanged, AddressOf AddressChangedCallback
        Console.WriteLine("Listening for address changes. Press any key to exit.")
        Console.ReadLine()
    End Sub
    Private Shared Sub AddressChangedCallback(ByVal sender As Object, ByVal e As EventArgs)

        Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
        Dim n As NetworkInterface
        For Each n In adapters
            Console.WriteLine("   {0} is {1}", n.Name, n.OperationalStatus)
        Next n
    End Sub
End Class

注釈

クラスは NetworkChange 、イベントを発生 NetworkAddressChanged させることによってアドレス変更通知を提供します。 インターフェイス アドレスは、切断されたネットワーク ケーブル、ワイヤレス ローカル エリア ネットワークの範囲外への移動、ハードウェア障害など、さまざまな理由で変更される可能性があります。

通知を受信するには、アプリケーションのイベント ハンドラーを識別する必要があります。これは、イベントが発生するたびにアプリケーション固有のタスクを実行する 1 つ以上のメソッドです。 イベントが NetworkChange 発生したときに NetworkAddressChanged オブジェクトでイベント処理メソッドを呼び出すには、メソッドをデリゲートに NetworkAddressChangedEventHandler 関連付け、このデリゲートを イベントに追加する必要があります。

コンストラクター

NetworkChange()
古い.

NetworkChange クラスの新しいインスタンスを初期化します。

メソッド

RegisterNetworkChange(NetworkChange)
古い.

ネットワーク変更イベントを受け取るためのネットワーク変更インスタンスを登録します。

イベント

NetworkAddressChanged

ネットワーク インターフェイスの IP アドレスが変更された場合に発生します。

NetworkAvailabilityChanged

ネットワークの可用性に変更があったときに発生します。

適用対象