Hace un buen tiempo, el Gurú de VFP, Pablo Roca, publicó esta utilísima función para poder
simular el PING que se hace desde DOS.
La función es esta:
FUNCTION pingWS
LPARAMETERS tchost, tnpuerto
LOCAL loWS, llret, lnini
loWS = CREATEOBJECT("MSWinSock.Winsock")
loWS.Connect(tchost, tnpuerto)
lnini = SECONDS()
DO WHILE SECONDS()-lnini<.3
ENDDO
IF loWS.state = 7 OR loWS.state = 9
llret = .T.
ENDIF
loWS.Close()
RELEASE loWS
RETURN llret
El problema que tengo es que cuando la utilizo, y por ejemplo, hago PING
a la siguiente dirección:
? PingWS("216.230.147.90", 80)
SIEMPRE obtengo un resultado .F., como si dicho sitio no respondiera. Pero
si hago lo mismo utilizando el PING de windows de esta forma:
PING 216.230.147.90
SIEMPRE obtengo respuesta positiva, es decir, siempre contesta el sitio al
PING dado. Y realmente así debe ser pues esta es la dirección IP de mi
proveedor de servicio de INTERNET.
¿ Alguien tiene alguna idea de qué estaré haciendo mal ?
¿ Habrá algo malo con mi Windows (el Winsock) ?
Y de ser que algo esta mal con mi Winsock ¿ Cómo lo puedo reparar ?
Lo curioso, repito, es que el PING desde sesión de DOS si funciona perfecto.