WinInet:FTP中的超时管理

时间:2008-12-15 22:25:11

标签: winapi ftp wininet

我的程序使用HTTP将文件放入远程主机。对于一些不可避免的 原因,远程主机需要一些时间来确认最终的数据包 数据传输。比默认超时更多的时间,根据 根据我的经验大约30秒。 因此,我希望使用以下代码将超时时间增加到5分钟:

DWORD dwTimeout= 300000; // 5 minutes
pFtpConnection->SetOption( // KB176420: this has no effect on some
  INTERNET_OPTION_SEND_TIMEOUT, dwTimeout); // old versions of IE.
pFtpConnection->SetOption(
  INTERNET_OPTION_RECEIVE_TIMEOUT, dwTimeout);
pFtpConnection->SetOption( // NB: Docs say these 2 are not implemented.
  INTERNET_OPTION_DATA_SEND_TIMEOUT, dwTimeout); 
pFtpConnection->SetOption( // our own tests show that they are!
  INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, dwTimeout); 

这是MFC代码,归结为调用

InternetOption(hConnection, INTERNET_XXX, &dwTimeout, sizeof(dwTimeout))

问题是这段代码显然无法修改a上的超时 使用该程序的计算机不可忽略的比例。

如何可靠地设置数据连接超时?

TIA,

Serge Wautier。

1 个答案:

答案 0 :(得分:0)

看起来这个WinInet isue无法可靠地解决。

我最终从WinInet切换到Ultimate TCP/IP