procedure rpely(ASender: TComponent;
const AReplyStatus: TReplyStatus);
begin
Break := True;
case areplystatus.ReplyStatusType of
rsEcho:
begin
Showmessage('远程服务器良好,可以开始传送。');
Break := False;
end;
rsError: Showmessage('收到错误的回应信息。网络状况有问题。');
rsTimeOut: Showmessage('服务器没有响应,超时了。');
rsErrorUnreachable: Showmessage('错误的地址。');
rsErrorTTLExceeded: Showmessage('TTL响应超时,网络状况很不好,建议不要传送。');
else
Showmessage('其它未知错误。');
end;
end;
////////////////////////////
with TIdIcmpClient.Create(self) do
try
host := '202.202.1.1'; //网关地址
onreply := rpely;
try
ping;
except
Showmessage('地址(' + host + ')不可用或没有连接到Internet。');
end;
finally
free;
end