在TADOConnection连接到数据库之前(如果ip addres无效或不退出,它会进行长时间试用连接),我正在使用TIdIcmpClient组件的Ping方法来检查有效的IP地址,但我不知道为什么有时候非常快速响应,有时非常慢响应。如何快速Ping(仅仅几秒钟,5秒以下更好)?
谢谢!
IdIcmpClient1.ReceiveTimeout:=200;
IdIcmpClient1.Host:='202.345.7.456'; // for example
IdIcmpClient1.Protocol:=1;
IdIcmpClient1.Ping();
if IdIcmpClient1.ReplyStatus.ReplyStatusType=rsEcho then
begin
ADOConnection1.Connected:=True; // try to connect to database
end else
begin
Exit; // cancel connection
end;