How to write ping code in PB?
Problem Description:
How to write ping code in PB?
solution:
Declare an external function:
Function Ulong IcmpcreateFile () library "icmp.dll"
Function long IcmpSendEcho (ulong IcmpHandle, ulong DestinationAddress, string RequestData, long RequestSize, long RequestOptions, Ref icmp_echo_reply ReplyBuffer, long ReplySize, long Timeout) Library "icmp.dll" Alias for "IcmpSendEcho"
Function long icmpclosehandle (Ulong ICMPHANDLE) library "icmp.dll"
Function ulong inet_addr (string cp) library "ws2_32.dll" alias for "inet_addr"
Code:
Ulong LUL_ADDRESS, LUL_HANDLE
Long LL_RC, LL_SIZE
String ls_reply
ICMP_ECHO_REPLY LSTR_REPLY
LUL_ADDRESS = INET_ADDR (as_ipaddress)
If LUL_ADDRESS> 0 THEN
LUL_HANDLE = ICMPCREATEFILE ()
LL_SIZE = LEN (as_echomsg)
LL_RC = ICMPSENDECHO (LUL_HANDLE, LUL_ADDRESS, &
As_echomsg, ll_size, 0, &
LSTR_Reply, 278, 200)
ICMPCloseHandle (LUL_HANDLE)
IF ll_rc <> 0 THEN
If lstr_reply.status = 0 THEN
Ls_reply = string (lstr_reply.data)
IF ls_reply = as_echomsg dam
Return True
END IF
END IF
END IF
END IF
Return False
// True means ping success, but also fail