WinInet:FTP put 中的超时管理

发布于 2024-07-10 13:47:16 字数 899 浏览 6 评论 0原文

我的程序使用 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,

塞尔日·沃蒂尔。

My program puts a file into a remote host using HTTP. For some unavoidable
reasons, the remote hosts needs some time to acknowledge the final packet of
the data transmission. More time than the default timeout, which according
to my experience is around 30 seconds.
Therefore I wanted to increase the timeout to 5 minutes, using this code:

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); 

This is MFC code which boils down to calling

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

The problem is that this code apparently fails to modify the timeout on a
non negligeable proportion of computers where the program is used.

How can I reliably set the data connection timeout?

TIA,

Serge Wautier.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剧终人散尽 2024-07-17 13:47:16

看起来这个 WinInet 问题无法可靠解决。

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

It looks like this WinInet isue can'tbe solved reliably.

I eventually switched from WinInet to Ultimate TCP/IP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文