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;