【发布时间】:2014-08-06 14:35:44
【问题描述】:
我正在使用 Delphi 2010 和 Indy 10.5.8
我正在尝试了解我们如何使用 keepalive 功能。我遇到了一种方法SetKeepAliveValues,我们在其中明确设置了keepalive 超时期限,还发现a link 根据哪个连接的ReadTimeout 或SessionTimeOut 将模仿相同。在我的服务器程序中,我为 IdHttpServer 定义了一个 SessionTimeOut
WebServer := TIdHTTPServer.Create(nil);
WebServer.SessionState := True;
WebServer.SessionTimeOut := 30000;
WebServer.AutoStartSession := True;
WebServer.OnCommandGet := CustomOnCommandGet;
在 CustomOnCommandGet 中,我正在检查 TIdHTTPResponseInfo 的 CloseConnection 属性并将其设置为
if LowerCase(ARequestInfo.Connection) = 'keep-alive' then begin
AResponseInfo.CloseConnection := False;
end
else begin
AResponseInfo.CloseConnection := True;
end;
这是否足以满足设置 keepalive 的要求,或者我必须在 SetKeepAliveValues 中强制设置超时,指导我设置相同的任何其他指针都会非常有帮助
谢谢,
【问题讨论】:
标签: delphi keep-alive indy10