Estoy escribiendo un programa en C# que necesita monitorear la cantidad de ancho de banda de Internet actualmente en uso para que pueda hacer una carga en segundo plano cuando el uso de Internet es bajo. ¿Cómo puedo determinar automáticamente qué adaptador de red es el que está conectado a internet?Cómo determinar qué adaptador de red está conectado a Internet
Respuesta
Terminé siguiendo un enlace a MSDN cuando estaba leyendo this page donde encontré la función GetBestInterface. Pude usar eso para encontrar el adaptador que está conectado a internet
Puede usar WMI para consultar todos los adaptadores y ver cuál está conectado.
This article le muestra cómo hacerlo en VB.Net (muy fácilmente transferible a C#).
Examine la tabla de enrutamiento y busque las interfaces que tienen una ruta predeterminada (una ruta a 0.0.0.0
) - esa es su interfaz (s) que están conectadas a el mundo más amplio (si hay alguno).
Hay varias maneras en que un adaptador puede mostrarse como "conectado a internet" cuando no lo es. Por el contrario, es posible que "no esté conectado a Internet" y aún esté conectado.
Como muchas cosas en la vida, "La prueba del pudín está en comer" Si quieres saber si estás conectado, deberás tratar de hablar con algo.
Me gusta time.gov ya que devuelve una pequeña porción de XML que contiene la hora actual para que pueda asegurarse de que realmente se está conectando a la red y no obtiene algún tipo de datos en caché o un redireccionamiento a un portal cautivo.
Simplemente recorra los adaptadores y vea cuál realmente tiene conectividad.
- 1. Determinar en script php si está conectado a internet?
- 2. Determinar si la conexión a Internet está disponible
- 3. Determinar Red Tipo de adaptador a través de WMI
- 4. Cómo determinar la interfaz de red de Internet en Java
- 5. ¿Cómo comprobar si el usuario está conectado a internet wp7?
- 6. Cómo determinar la conexión a Internet en Cocoa?
- 7. ¿Hay alguna forma de saber a qué red está conectado un iPhone (LTE vs GSM)
- 8. ¿Cómo se muestra una alerta cuando no está conectado a internet? iOS
- 9. ¿Cómo saber a qué puerto está conectado un dispositivo USB?
- 10. Enviar datos a un servidor cuando el dispositivo está conectado a Internet
- 11. ¿Cómo compruebo programáticamente para ver a qué dominio estoy conectado?
- 12. ¿Cómo saber con Objective-C si el iPhone está conectado a una red wifi?
- 13. Diferenciar el adaptador de red VMware de los adaptadores físicos de red -o-- Detectar el adaptador de red virtual
- 14. ¿La manera más fácil de determinar si la conexión a internet del iPhone está disponible?
- 15. Compruebe si ningún usuario está actualmente conectado a Windows
- 16. ¿Cómo determinar la conexión a Internet de Android?
- 17. ¿Está conectado a una impresora Brother PTouch?
- 18. Determinar qué rubygem está usando
- 19. ¿Cómo obtener el índice del adaptador de red?
- 20. ¿Cómo saber qué proceso (stat: T) está conectado por gdb?
- 21. ¿Cómo dejar de fumar cuando está conectado a un proceso?
- 22. Envío de HttpWebRequest a través de un adaptador de red específico
- 23. La información de red de Android siempre devuelve verdadero incluso si Internet no está disponible
- 24. ¿Cómo puedo detectar qué versión de Internet Explorer está instalada?
- 25. Detectar cualquier red conectada
- 26. Cómo saber quién está conectado a SQL Server
- 27. ¿Cómo comprobar que el usuario está "conectado"?
- 28. ¿Cómo obtener el nombre de conexión utilizado por el adaptador de red de Windows?
- 29. Detecta wifi habilitado (independientemente de si está conectado)
- 30. Detectando el estado de la red (conectado - desconectado) en C#
Compruebe esta pregunta http://stackoverflow.com/questions/515436/how-to-get-internet-ip/515449 –
Se puede conectar más de un adaptador a Internet. (Por ejemplo, una conexión cableada e inalámbrica en la misma máquina). – Joe