2009-06-01 30 views
5

Necesito un código que pueda detectar si una conexión de red está conectada o desconectada. El estado conectado significaría que se conectó un cable a la conexión Ethernet. Un estado desconectado significaría que no hay un cable conectado.Detectando el estado de la red (conectado - desconectado) en C#

No puedo usar la interfaz WMI debido a que estoy usando Windows CE. No me importa invocar la API de Win32 pero recuerdo que estoy usando Windows CE y ejecutándome en Compact Framework.

+0

Una cosa para recordar es que una conexión de red no es igual a una conexión a internet. Parece que ya lo entiende porque define conectado como "un cable está conectado a la conexión Ethernet", pero vale la pena repetirlo. –

Respuesta

0

Una cosa para recordar es que una conexión de red es no igual a una conexión a Internet.

Parece que ya lo entiende porque define conectado como "un cable está conectado a la conexión Ethernet", pero vale la pena repetirlo.

+0

Sí, entiendo esto. Realmente quiero detectar el estado de conexión del "cable". –

+0

@ kelton52 De acuerdo. Las reglas han cambiado desde junio de 2009 :) He agregado el comentario, y lo eliminaré en unos minutos. –

1

¿Llamar a GetAdaptersInfo y recorrer la lista de adaptadores de red disponibles hasta que encuentre el que está buscando?

4

La manera más fácil es usar OpenNETCF's SDF y mirar OpenNETCF.Net.NetworkInformation.NetworkInterfaceWatcher class, que generará eventos cuando NDIS envíe notificaciones (como MEDIA_CONNECT y MEDIA_DISCONNECT).

Puede hacer el mismo trabajo sin el SDF, por supuesto. Se trata de activar el controlador NDIS directamente y llamar al IOCTL_NDISUIO_REQUEST_NOTIFICATION con un identificador de cola de mensajes P2P. No es demasiado difícil, pero hay muchas cosas que tienes que hacer para que funcione y no se filtre.

+0

Hola, descargué 2.3 binarios de https://opennetcf.codeplex.com/releases/view/137461 pero no puedo encontrar AdapterStatusMonitor en OpenNETCF.Net Namespace ... ¿Me falta algo? ¡Gracias! – franDayz

+1

Eche un vistazo a 'NetworkInterfaceWatcher' http://opennetcf.codeplex.com/SourceControl/latest#OpenNETCF.Net/OpenNETCF.Net/NetworkInformation/NetworkInterfaceWatcher.cs – ctacke

Cuestiones relacionadas