Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
NetworkChange (Clase)

Nota: esta clase es nueva en la versión 2.0 de .NET Framework.

Permite a las aplicaciones recibir una notificación cuando la dirección del Protocolo Internet (IP) de una interfaz de red, también denominada adaptador o tarjeta de red, cambia.

Espacio de nombres: System.Net.NetworkInformation
Ensamblado: System (en system.dll)

Visual Basic (Declaración)
Public NotInheritable Class NetworkChange
Visual Basic (Uso)
Dim instance As NetworkChange
C#
public sealed class NetworkChange
C++
public ref class NetworkChange sealed
J#
public final class NetworkChange
JScript
public final class NetworkChange

La clase NetworkChange proporciona una notificación de cambios en la dirección provocando eventos NetworkAddressChanged. Una dirección de interfaz puede cambiar por muchas razones, como que se desconecte un cable de red, que una red de área local (LAN) inalámbrica esté fuera de intervalo, o que se produzca un error de hardware.

Para recibir una notificación, se deben identificar los controladores de eventos de la aplicación, que son uno o más métodos que realizan las tareas específicas de la aplicación cada vez que se provoca el evento. Para que un objeto NetworkChange llame a los métodos de control de eventos cuando se produce un evento NetworkAddressChanged, se deben asociar los métodos a un delegado NetworkAddressChangedEventHandler y agregar este delegado al evento.

En el ejemplo de código siguiente se realizan escuchas para los cambios de dirección y se muestra el estado de las interfaces de red cuando se produce un evento NetworkAddressChanged.

Visual Basic
Imports System
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 'Main
    Shared Sub AddressChangedCallback(sender As Object, 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 
C#
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);
            }
        }
    }
}
C++
#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();
}

System.Object
  System.Net.NetworkInformation.NetworkChange
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker