Ping several items in xHarbour

Post Reply
byron.hopp
Posts: 390
Joined: Sun Nov 06, 2005 3:55 pm
Location: Southern California, USA
Been thanked: 1 time
Contact:

Ping several items in xHarbour

Post by byron.hopp »

Is it possible to ping one to many items directly from xHarbour. I am working with a warehouse which has 10 access points for 802-11B communications. I was hoping to be able to ping all of these units from a procedure in my program so we know they are up and responding. Is this possible.

Thanks,
Thanks,
Byron Hopp
Matrix Computer Services
User avatar
Jeff Barnes
Posts: 933
Joined: Sun Oct 09, 2005 1:05 pm
Location: Ontario, Canada
Contact:

Post by Jeff Barnes »

Byron,

Check your e-mail.


Jeff
theotokos
Posts: 11
Joined: Thu Sep 02, 2010 10:56 am

Re: Ping several items in xHarbour

Post by theotokos »

Olá ! estou precisando de fazer praticamente a mesma coisa... vc conseguiu? pode compartilhar por favor, obgdão!
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: Ping several items in xHarbour

Post by karinha »

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
byron.hopp
Posts: 390
Joined: Sun Nov 06, 2005 3:55 pm
Location: Southern California, USA
Been thanked: 1 time
Contact:

Re: Ping several items in xHarbour

Post by byron.hopp »

Class McsICMP
Data nPort,nStatus,cData,cOptions,nTimeout,nElapsed,cEcho,cIp,nSeconds,cLog
Method New(cIp)
Method SendEcho()
End Class

Method New(cIpAddress) Class McsICMP
// Internet Control Message Protocol - (ICMP)
// Packed INternet Grouper - (PING)
::cIp := cIpAddress
::nPort := 0
::nStatus := 0
::cData := "12345678901234567890123456789012"
::cOptions := ""
::nTimeout := 100
::nSeconds := 0
::cEcho := Space(278)
return Self

Method SendEcho() Class McsICMP
WsaStartUp()
::cIP := GetHostByName(::cIP)
WsaCleanUp()
::nPort := IcmpCreateFile()
::nSeconds := Seconds()
::nStatus := IcmpSendEcho(::nPort,inet_addr(::cIP),::cData,Len(::cData),0,::cEcho,Len(::cEcho),::nTimeout)
::nElapsed := Seconds() - ::nSeconds
IcmpCloseHandle(::nPort)
Return (::nStatus > 0)

DLL32 FUNCTION inet_addr(cIP AS STRING) AS LONG PASCAL FROM "inet_addr" LIB "wsock32.dll"
DLL32 FUNCTION IcmpCreateFile() AS LONG PASCAL FROM "IcmpCreateFile" LIB "icmp.dll"
DLL32 FUNCTION IcmpCloseHandle(IcmpHandle AS LONG) AS LONG PASCAL FROM "IcmpCloseHandle" LIB "icmp.dll"
DLL32 FUNCTION IcmpSendEcho(IcmpHandle AS LONG,DestinationAddress AS LONG,RequestData AS STRING,RequestSize AS LONG,RequestOptions AS LONG,ReplyBuffer AS LPSTR,ReplySize AS LONG,Timeout AS LONG) AS LONG PASCAL FROM "IcmpSendEcho" LIB "icmp.dll"
DLL32 FUNCTION WSAGetLastError() AS _INT PASCAL FROM "WSAGetLastError" LIB "wsock32.dll"
Thanks,
Byron Hopp
Matrix Computer Services
Post Reply