![]() |
Saber si estoy conectado a Internet
No hay manera, he visto varios ejemplos de "Como saber si estas conectado", 2 de ellos en este mismo foro, en trucomania, todos son muy parecidos, pero los he probado todos y todos me dicen que estoy conectado, aunque cierre la conexion, hasta he desconectado la USB inalambrica que tengo para conectarme a Internet.
En este post incluso hay un comentario que dice Cita:
Alguien me puede dar algun consejo o indicarme alguna pagina que indique la solucion real?. Un saludo a todos.:) |
Hola, se me ocurre que podrias hacer un ping a google o alguna direccion que sepas que nunca va estar caida y si tienes respuesta es que tienes conexion a internet.
Un Saludo. |
Hola... no se si ya habrás solucionado el problema o si tiene sentido solucionarlo tanto tiempo después.. de todos modos te comento algo que acabo de ver, si ya no te es util, mil disculpas, pero bueno tal vez pueda ayudar a otra persona que busque algo parecido..
Yo estaba buscando como detectar una conexión a internet... pero no quiería poner un timer que registre cada cierto tiempo si estoy o no conectado, ya sea con un ping o alguna otra manera, lo que yo queria era disparar un evento cuando se conectara o desconectara mi PC.. cosa que si miramos desde un punto "literal" no existe... peeeeero.. existe un evento que se dispara si se modifica el registro de windows.. que tendrá que ver.. jeje.. la cosa es que cuando se conecta o desconecta una PC de internet, windows coloca en el registro cierta info... entonces si podemos disparar un evento para ver una clave modificada, si esta clave se modifica en la conexion y desconexion, estaremos disparando un evento justamente cuando nos conectamos o desconectamos... bueno basta de palabras y a los links.. este link nos lleva a como detectar una activacion de la conexion a internet http://173-203-208-16.static.cloud-ips.com/0/278523 y este otro a como generar un evento cuando se modifica el registro... http://delphi.about.com/od/kbwinshell/l/aa052003a.htm de todos modos en el primer link esta todo listo para la detectar la conexion.. pero puse el segundo por si alguien quiere profundizar en el tema del registro de windows.. si pueden.. comenten.. yo ya me pongo a probar esto.. como les dije al principio .. lo acabo de encontrar.. jeje.. manos a la obra.. saludos.. |
Bueno gente... si ya han viasto los links del post anterior, verán que la cosa no está tan regalada... lo que si, está muuuy interesante..
del Primer link podemos sacar muchisima info sobre nuestras tarjetas de red.. yo hice una Unit con lo más importante para mi caso... pero en la primer link del post anterior tienen toda la unit completa.. pero vamos por paso.. primero hacemos un proyecto nuevo y le ponemos un TMemo o lo que ustedes quieran para mostrar la IP. (yo deje el TMemo del proyecto que estaba haciendo, pero con un TLabel ya nos es suficiente.) Despues ejecutamos el programa y nos conectamos y desconectamos a internet para ver como funciona... Unit1
y aqui tenemos la otra Unit...
y listo... aqui tenemos un evento que se dispara cuando nos conectamos o desconectamos... si pueden comenten... Saludos .. |
Hola bastante interesante el tema , lo he probado con una pequena variacion en
RegMonitorThread2 : TRegMonitorThread; Me indicaba que estaba redeclarado y por eso le cambie el nombre Arranco el aplicativo y siempre me sale 0.0.0.0 desconecto de internet , quito el cable del router y no sale nada algo estare haciendo mal ??? Gracias por tu respuesta Nota : Tema interesante porq de esta manera sabre como activar o desactivar un boton cuando no tengo internet , pero si coneccion a mi red local |
Hola IVAND.. si te devuelve siempre 0.0.0.0 es posible queAdapterData[i].dwType nunca sea 23 o 28, este evento se dispara solamente si tenés un módem conectado directamente a tu PC, con una conexión "PPP" (23) o "SLIP" (28).
Si no es ninguno de estos valores fijate que valor tiene en tu conexion, en la unit original uAdapterInfo.pas estan las constantes con su descripción.. fijate en los links de los post`s anteriores y bajala. Bueno espero haberte ayuado.. Espero tu comentario.. Saludos. |
Nunca es tarde .... a las pruebas me remito .....
estoy necesitando detectar si estoy conectado y cuando quiero recurrir a tu primer link da error 404 al interntar acceder Algún otro link ? Saludos y gracias Guillermo |
Hola glsaavedra.. si efectivamente parece que han borrado la página.. de todos modos este método funciona si tenés una pc conectada directamente a un modem.. no a un router .. si es asi.. deberia funcionarte lo que arriba esta publicado...
Seria bueno que hagas unas pruebas y comentes que error te da. Saludos. |
Para saber si tienes conexión a internet, lo mas simple es realizar un ping a una dirección conocida y estable. Puedes elegir, por ejemplo www.google.com. Esto funciona relativamente bien siempre y cuando tu conexión no esté controlada por un proxy. Puedes usar cualquier función que te permita realizar un ping. Te recomiendo la lectura de esto.
Un ejemplo de como realizar ping sin componentes, sólo con la API:
Un ejemplo de uso sería: Pero si estas detrás de un proxy no va a funcionar pues ping usa el protocolo ICMP para la comunicación, sin embargo Proxy Server sólo soporta paquetes TCP y UDP. La solución va a ser conectarse a una página y ver se se puede leer. Para este segundo caso diseñé una función que llamé Webing (por paralelismo con la fonética de Ping). Este es el código: Y lo usaríamos así:
En este hilo puedes encontrar mas información y una aplicación de ejemplo que incluso permite autentificarnos en un proxy que así lo exija. Espero haberte sacado de dudas. Saludos. |
RE:Saber si estoy conectado a Internet
Te felicito por el código, lo acabo de utilizar y al parecer funciona correctamente, solo es necesario poner la URL junto con el protocolo, es decir, en lugar de 'www.google.com' hay que poner 'http://www.google.com', de otra manera nunca regresa contenido y siempre marca False.
|
Cita:
Cita:
Lástima que no puedo editar ese ejemplo de uso. Si algún moderador lo hace evitaría dudas y malentendidos posteriores. Saludos. |
Cita:
Saludos.:) |
Cita:
Caramba, ya apareció el genio de la lámpara... :eek: :p ¿Puedo pedir mas cosas? :D:D:D Me gustaría...... y también.... y ademas....:D:D:D Gracias. Saludos. |
Cita:
Un saludo. |
La franja horaria es GMT +2. Ahora son las 13:14:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi