¿Hay alguna manera con Windows api para detectar si la conexión de red de una computadora con Windows 7 es una conexión a Internet o una conexión LAN sin acceso a Internet? Windows 7 y Vista indican esto en el ícono de red (Local solamente v. Local e Internet), ¿hay alguna manera de captar esa información de forma programática?Detectar Internet V. conexión LAN local
Respuesta
No perfectamente.
Se puede detectar si usted está en un lan de la dirección IP (asumiendo que su DHCP local entregó uno de los 192.168.xx.xx direcciones privadas.)
usted podría hacer ping a un sitio externo conocido para comprobar si ese lan tiene una conexión a internet.
Hacer ping 4.2.2.2
es un medio común para determinar si hay conectividad a Internet.
La historia detrás de esto lies here.
Interesante. ¿Qué es vnsc-bak.sys.gtei.net? – sbi
Aunque ahora 8.8.8.8 es probablemente mejor (he aquí el poder de Google) –
@Martin: Sí, aunque 4.2.2.2 ahora es memoria muscular para mí. No sé si puedo soportar aprender 8.8.8.8 y su ángulo incómodo entre el índice y el dedo medio. –
http://msdn.microsoft.com/en-us/library/aa370750(VS.85).aspx describe la diferencia entre IsConnected
y IsConnectedToInternet
. Solo Windows 7 No tengo un ejemplo de código nativo a mano, lo siento.
Gracias, este es exactamente el tipo de cosa que estoy buscando. – MattR
Windows 7 realiza una consulta DNS para dns.msftncsi.com 5 segundos después del establecimiento del enlace. No veo ninguna razón para hacerlo, excepto para verificar la conexión a Internet.
El Código Pack de Windows API va a hacer esto para usted http://archive.msdn.microsoft.com/WindowsAPICodePack
su clase NetworkListManager tiene una propiedad isConnected que indica si tiene conexión LAN
y una propiedad IsConnectedToInternet que indica si tiene conexión a Internet
la descarga del paquete contiene una aplicación de demostración de red que demuestra esto
la pregunta está etiquetada C++ que significa código nativo. El paquete de código (que me encanta y soy parcialmente responsable) es código administrado, por ejemplo, C# –
- 1. detectar si no hay conexión a Internet
- 2. Detectar conexión a Internet utilizando Java
- 3. no se puede detectar la conexión a Internet con accesibilidad alcanzabilidad para la conexión a Internet
- 4. simulando una conexión a internet lenta en el host local
- 5. Detectar una activación de conexión a Internet con Delphi
- 6. Necesito un evento para detectar la conexión/desconexión de Internet
- 7. ¿Cómo detectar la conexión a Internet que funciona en C#?
- 8. Cómo detectar la velocidad de conexión a Internet con Java?
- 9. Java detectar conexión perdida
- 10. syncadapter sin conexión a Internet
- 11. Conexión al servidor web local cuando estoy fuera de mi LAN
- 12. Error de conexión a Internet
- 13. Verificar conexión a internet activa
- 14. ¿Cómo detectar Ctrl + V en Silverlight 4?
- 15. Cómo determinar la conexión a Internet en Cocoa?
- 16. Obtener lista de dispositivos en la red local (LAN)?
- 17. HTML5 + JS suficiente para la comunicación LAN?
- 18. Cómo acceder al sitio que ejecuta el servidor apache a través de LAN sin conexión a Internet
- 19. ¿Detecta que la conexión a Internet está fuera de línea?
- 20. (¿Cómo puede un dispositivo virtual de Android utilizar la conexión a Internet de la computadora local?
- 21. Acceder al servidor local desde Internet
- 22. Android: Establezca la conexión a Internet
- 23. Simulación de conexión a Internet lenta
- 24. La aplicación solicita conexión a Internet
- 25. Imita una conexión a Internet lenta (mac)
- 26. iPhone SDK Detección de conexión a Internet
- 27. Comprobando la conexión a Internet en android
- 28. Detectando si la conexión a Internet está ocupada
- 29. Detectar conexión USB en Android
- 30. Hoptoad v. Excepcional v. Excepción_notificación v. Exception_logger
Sólo porque la computadora tiene una privat La dirección IP (que también incluye 10.x.x.x y 172.16-31.x.x) no significa que no esté conectada a Internet. ¡Como cualquier persona que acceda a este sitio desde detrás de un enrutador doméstico que realiza NAT puede dar fe! –
No estaba claro qué hacía el OP, es decir. conexión a internet directa contra NAT –