다음을 통해 공유


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 시켜 주소 변경 알림을 제공합니다. 연결이 끊긴 네트워크 케이블, 무선 로컬 영역 네트워크 범위를 벗어나거나 하드웨어 오류와 같은 여러 가지 이유로 인터페이스 주소를 변경할 수 있습니다.

알림을 수신 될 때마다가 이벤트는 애플리케이션 관련 태스크를 수행 하는 하나 이상의 메서드는 애플리케이션의 이벤트 처리기를 식별 해야 합니다. 이벤트가 발생할 때 개체가 NetworkChange 이벤트 처리 메서드를 NetworkAddressChanged 호출하도록 하려면 메서드를 대리자와 NetworkAddressChangedEventHandler 연결하고 이 대리자를 이벤트에 추가해야 합니다.

생성자

NetworkChange()
사용되지 않음.

NetworkChange 클래스의 새 인스턴스를 초기화합니다.

메서드

RegisterNetworkChange(NetworkChange)
사용되지 않음.

네트워크 변경 이벤트를 받도록 네트워크 변경 인스턴스를 등록합니다.

이벤트

NetworkAddressChanged

네트워크 인터페이스의 IP 주소가 변경되면 발생합니다.

NetworkAvailabilityChanged

네트워크의 가용성이 변경되면 발생합니다.

적용 대상