如何设置TIdHTTP超时?

时间:2014-06-11 12:42:39

标签: delphi connection delphi-xe2 idhttp

在Delphi XE2中,使用TIdHTTP.Get时,如何设置连接超时? (例如,计算机未物理连接到Internet时超时)。我尝试使用ConnectTimeoutReadTimeout TIdHTTP属性设置连接超时,但它不起作用:

procedure TForm1.btnGetClick(Sender: TObject);
var
  S: string;
begin
  IdHTTP1.ConnectTimeout := 3000;
  IdHTTP1.ReadTimeout := 3000;

  S := IdHTTP1.Get('http://www.mywebsite.com/program_version.txt');
  lbl1.Caption := S;
end;

使用此代码,始终在完全 21秒(!)后,将显示消息对话框“连接超时”(当计算机未物理连接到Internet时)。

那么,如何设置IdHTTP连接超时?此外,NO DIALOG应该在超时时显示,但是应该触发一个事件,所以我可以自己处理超时事件。

更一般地说,如何检测是否没有物理互联网连接?在这种情况下,我根本不需要连接并节省超时时间(例如,在程序启动时在线检查最新的程序版本)。

Indy版本:10.5.8.0

0 个答案:

没有答案