Función para hacer PING desde VFP 9 de Pablo Roca

1,189 views
Skip to first unread message

Edgar Acevedo

unread,
Dec 30, 2011, 2:02:39 PM12/30/11
to publice...@googlegroups.com, aper...@gmail.com
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.







Edgar Acevedo

unread,
Dec 30, 2011, 2:41:59 PM12/30/11
to publice...@googlegroups.com, aper...@gmail.com
PROBLEMA RESUELTO:
-------------------------------------

Yo estaba haciendo ping de esta forma:
PingWS("216.230.147.90", 80)

Cuando en realidad debía hacerlo de esta otra forma:

PingWS("http://216.230.147.90", 80)

---------------------------------------------------------------------------------------------------------------------------------------------------
Reply all
Reply to author
Forward
0 new messages