首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinInet FtpOpenFile超时

WinInet FtpOpenFile超时
EN

Stack Overflow用户
提问于 2021-04-20 05:41:25
回答 1查看 51关注 0票数 0

我有一个应用程序,定期上传文件使用WinInet的FTP功能。它已经运行了几年,但在2021年4月1日开始失败。无法使用FtpOpenFile打开文件,状态为12002互联网超时。调用如下所示..

代码语言:javascript
复制
    hiOpenFile = FtpOpenFile(
        hiSiteConnect,
        "TEMP.htm",
        GENERIC_WRITE,
        FTP_TRANSFER_TYPE_ASCII,
        NULL
    );

该文件确实在服务器上创建。

我想知道这个函数的超时值是多少,以及是否有任何方法可以更改它?

EN

回答 1

Stack Overflow用户

发布于 2021-06-18 20:57:32

我在使用FtpOpenFileFtpGetFile时都遇到了12002的互联网超时,但在我的InternetConnect调用中添加了INTERNET_FLAG_PASSIVE标志后,这两种方法现在都可以工作了。

关于超时,通常您会使用INTERNET_OPTION_CONNECT_TIMEOUTINTERNET_OPTION_RECEIVE_TIMEOUTINTERNET_OPTION_SEND_TIMEOUTInternetSetOption。有关选项标志的详细信息,请参阅此处:https://docs.microsoft.com/en-us/windows/win32/wininet/option-flags

然而,由于一个非常老的MS bug,上面设置的超时根本没有任何影响。有一个解决方法可以减少超时,但不会增加超时。这是通过创建一个新的工作线程并等待它来完成的。请看这里的文章:https://mskb.pkisolutions.com/kb/224318

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67169700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档