WinInet:FTP put 中的超时管理
Posted
技术标签:
【中文标题】WinInet:FTP put 中的超时管理【英文标题】:WinInet: timeout management in FTP put 【发布时间】:2008-12-15 22:25:10 【问题描述】:我的程序使用 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))
问题是这段代码显然无法修改超时 使用该程序的计算机比例不可忽略。
如何可靠地设置数据连接超时?
TIA,
塞尔吉·沃蒂尔。
【问题讨论】:
【参考方案1】:看起来这个 WinInet 问题无法可靠解决。
我最终从 WinInet 切换到 Ultimate TCP/IP。
【讨论】:
以上是关于WinInet:FTP put 中的超时管理的主要内容,如果未能解决你的问题,请参考以下文章