Page 1 of 1

IsInternet() Lento

PostPosted: Thu Feb 01, 2018 12:27 am
by EBM
Hola compañeros:

Estoy teniendo problemas de lentitud al ejecutar la función IsInternet() sobre todo cuando el internet se cae, tarda hasta 30 segundos en regresar el control al equipo, ya intente con GetHostByName y me sucede lo mismo en varios equipos. Habrá alguna solución mas rápida para poder detectar si se tiene conexión a internet??

Alguna ayuda??

Saludos !!

Eduardo Borondón Muñiz

Re: IsInternet() Lento

PostPosted: Thu Feb 01, 2018 11:47 am
by karinha
Haga asi:

Code: Select all  Expand view

//-> Funcao para checar a Internet
FUNCTION IsInternet()

   LOCAL cIp, cVret := .F.

   WsaStartUp()

   cIp := GETHOSTBYNAME( "microsoft.com" )
   cIp := GETHOSTBYNAME( "microsoft.com" )

   WsaCleanUp()

   // Seguranca caso o provedor da microsoft esteja fora do ar...
   IF ( cIp <= "0.0.0.0" )

      WsaStartUp()

      cIp := GetHostByName( "google.com" )
      cIp := GetHostByName( "google.com" )

      WsaCleanUp()

   ENDIF

RETURN( cIp<>"0.0.0.0" )
 


Saludos.

Re: IsInternet() Lento

PostPosted: Thu Feb 01, 2018 11:05 pm
by EBM
Gracias Karinha por responder, lo voy a probar como me indicas y te comento como me fue, sólo una pregunta, por que haces una doble llamada a la función GetHostByName() ?

Saludos!!

Eduardo Borondón Muñiz

Re: IsInternet() Lento

PostPosted: Fri Feb 02, 2018 11:06 am
by karinha
Hola, eso fue una sugerencia del foro nacional de fivewin, para forzar la conexión con microsoft. Funciona perfecto. Saludos.

Re: IsInternet() Lento

PostPosted: Mon Feb 19, 2018 2:41 pm
by albeiroval
Karinha, gracias por el aporte trabaja bien.