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

Происходит при изменении доступности сети.

Применяется к