1.IdIcmpClient 的反馈
IdIcmpClient 包含rsEcho、rsTimeOut、rsErrorUnreachable、rsErrorTTLExceeded。
当 IdIcmpClient1.ReplyStatus.ReplyStatusType = rsEcho 则代表ping成功。
2. IdIcmpClient1.ReplyStatus.ReplyStatusType = rsEcho 的管制
当rsEcho 时候,存在双网卡的情况等时候,需要增加
IdIcmpClient1.ReplyStatus.FromIpAddress = 当前本机IP地址
或者
IdIcmpClient1.ReplyStatus.FromIpAddress <>’’ 及
IdIcmpClient1.ReplyStatus.FromIpAddress <>0.0.0.0’
3.代码
IdIcmpClient1.Host := Address1;// Ping的地址
IdIcmpClient1.ReceiveTimeout := 1000;
IdIcmpClient1.Ping;
if not (IdIcmpClient1.ReplyStatus.ReplyStatusType = rsEcho) then
begin
lsError :='';
if (IdIcmpClie