Delphi Ping检测联网状态
uses IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient;
function PingServer(HostIP: string;LinkTimeOut: integer): boolean;
var
RRemoteC: TIdIcmpClient;
AReplyStatus: TReplyStatus;
begin
try
result := true;
RRemoteC := TIdIcmpClient.Create(nil);
RRemoteC.Host := HostIP;
RRemoteC.ReceiveTimeout := LinkTimeOut;
try
RRemoteC.Ping;
AReplyStatus := RRemoteC.ReplyStatus;
if (AReplyStatus.ReplyStatusType = rsTimeOut) then
begin
result := false;
end;
except
result := false;
end;
finally
RRemoteC.Free;
end;
end;
调用:
if PingServer(‘www.baidu.com‘, 5000) then xxx