¿Cómo puedo verificar si tengo una conexión a Internet o conexión a Internet con C++?Cómo comprobar si tiene conexión a Internet en vivo mediante programación mediante C++
Respuesta
C++ no tiene funciones integradas para esto, deberá recurrir a las API del sistema. La forma más fácil y obvia es crear un socket e intentar conectarlo a una IP conocida o verificar si DNS está funcionando.
Algunos enlaces útiles:
http://msdn.microsoft.com/en-us/library/ms740673(VS.85).aspx (Windows Sockets)
http://www.tenouk.com/cnlinuxsockettutorials.html (enchufes Linux/Unix)
Comprobaré la API del sistema de Windows. Gracias. – Vibz
La forma más fácil es tratar de conectarse a una dirección IP conocida fuera. Si falla en Windows, la función de conexión devolverá SOCKET_ERROR, y WSAGetLastError generalmente devolverá WSAEHOSTUNREACH (lo que significa que el paquete no pudo ser enviado al host). En Linux, obtendrás un -1, y errno será ENETUNREACH.
Para empezar, puede suscribirse al ISensIntf
para verificar si tiene una conexión de red válida. (Avíseme si necesita ayuda para esto. Es doloroso registrarse para los eventos, etc.). Después de eso, puede utilizar la API como IsNetworkAlive
, InternetGetConnectedStateEx
o la InternetCheckConnection
para comprobar la conectividad a Internet, etc.
Si su uso de C# o VB, a continuación, primero agregar una referencia a
Microsoft.VisualBasic.Code.
Microsoft.VisualBasic.Devices.Network network = new Microsoft.VisualBasic.Devices.Network();
network.NetworkAvailabilityChanged += new Microsoft.VisualBasic.Devices.NetworkAvailableEventHandler(network_NetworkAvailabilityChanged);
...
private static void network_NetworkAvailabilityChanged(object sender, Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs e)
{
if (e.IsNetworkAvailable)
{
//network is connected.. do something..
}
else
{
//network isnt connected.. do something else.
}
Espero que esto ayude
Esta pregunta quería código C++, -1. – cybermonkey
- 1. Conexión a TFSPreview mediante programación
- 2. Determine la velocidad en Internet mediante programación
- 3. ¿Tiene acceso a iSight mediante programación?
- 4. cookies creadas mediante programación en Internet Explorer
- 5. mediante programación en C#
- 6. Habilitar/deshabilitar mediante programación la conexión
- 7. comprobar mediante programación si el método es público
- 8. ¿Detecta mediante programación si un iPad tiene pantalla Retina?
- 9. Android: Cómo activar/desactivar Wi-Fi o conexión a Internet mediante programación
- 10. Cómo reiniciar mediante programación?
- 11. Buscar mediante programación si bajo C++ o C++/CLI
- 12. Comprobar si existe un nodo mediante XSLT
- 13. Cómo llamar a drawRect mediante programación en el objetivo c
- 14. comprobando mediante programación la conexión abierta en JDBC
- 15. Cómo mostrar mediante programación WPF/C# Windows.Control.ToolTip?
- 16. Cómo ejecutar NUnit mediante programación
- 17. Cambio de colores mediante programación en C#
- 18. ¿Cómo puedo probar mediante programación una conexión HTTP?
- 19. Cómo agregar vistas a vistas mediante programación
- 20. ¿Cómo comprobar, mediante programación, si MS Excel existe en una PC?
- 21. Generar propiedades mediante programación
- 22. ¿Cómo ocultar una vista mediante programación?
- 23. ¿Cómo comprobar si un formulario se envía mediante javascript?
- 24. Comprobar errores XML mediante JavaScript
- 25. Convierta Word (docx) mediante programación a PDF
- 26. Agregar PageControl mediante programación
- 27. Comprobar mediante programación si el GPS está habilitado o no en el iPhone
- 28. Android: detecta mediante programación si el dispositivo tiene el botón de menú de hardware
- 29. C# Visual Studio ... agregar referencias mediante programación
- 30. eliminar mediante programación un servicio usando C#
¿Realmente necesita una conexión de "internet"? A diferencia de estar conectado a los servidores X, Y y Z, ¿necesita comunicarse? –