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;