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,
Ping several items in xHarbour
-
- Posts: 390
- Joined: Sun Nov 06, 2005 3:55 pm
- Location: Southern California, USA
- Been thanked: 1 time
- Contact:
- Jeff Barnes
- Posts: 933
- Joined: Sun Oct 09, 2005 1:05 pm
- Location: Ontario, Canada
- Contact:
Re: Ping several items in xHarbour
Olá ! estou precisando de fazer praticamente a mesma coisa... vc conseguiu? pode compartilhar por favor, obgdão!
- 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
Maybe,
https://stackoverflow.com/questions/186 ... ip-address
https://stackoverflow.com/questions/124 ... -batch-scr
https://superuser.com/questions/1134344 ... -in-its-ow
Regards, saludos.
https://stackoverflow.com/questions/186 ... ip-address
https://stackoverflow.com/questions/124 ... -batch-scr
https://superuser.com/questions/1134344 ... -in-its-ow
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
-
- 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
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"
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
Byron Hopp
Matrix Computer Services