El problema con todos estos esquemas es que 'internet' no existe como una entidad. Existe una razón por la cual los intentos fallidos de conexión se informan como 'inalcanzables' o 'no se pueden conectar al servidor en blahblah'. Ejemplos:
1) No tiene señal. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
2) Tiene una señal, pero se ha excedido el margen de datos de su proveedor. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
3) Su conexión de proveedor está bien, pero su enrutador de red troncal está caído. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
4) Su conexión de proveedor está bien, su enrutador de red troncal está activo pero la conexión de fibra al país X donde el servidor ha sido interrumpido por un capitán ebrio y el ancla de su barco. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
5) Todos los enlaces al país de destino están activos, pero Fred, con su JCB de excavación de zanjas, ha cortado el cable de alimentación de la granja de servidores. Uno de los otros trabajos de Fred es dar servicio al generador de respaldo :(¿Está conectado a internet? ¿PING tendrá éxito? ¿Puede conectarse a su servidor de destino?
6) Todo el hardware está activo, pero el código del servidor fue escrito por Fred antes de ser degradado a excavador de zanjas por incompetencia y ahora se ha estrellado, de nuevo. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
7) Fred ha tenido un día libre, pero su administrador de servidor competente de reemplazo ha bloqueado el ping ICMP en los enrutadores para evitar ataques de DOS de ping. ¿Estás conectado a internet? ¿PING tendrá éxito? ¿Puedes conectarte a tu servidor de destino?
Por lo tanto, la única manera de estar seguro es tratar de conectarse al servidor de destino y ver qué pasa.
Seguramente puede detectar algunos casos negativos más rápidamente - seguramente si no hay señal, no puede obtener una conexión :) Pasado, simplemente debe tratar de conectarse. Informe al usuario lo que está sucediendo, use un tiempo de espera y proporcione al usuario un botón de "Cancelar". Eso es lo mejor que puedes hacer.
Significa que también usa WIFI. ¿Estoy en lo cierto? –
Sí, solo uso wifi. –
Entonces, ¿cuál es el problema? –