【发布时间】:2014-04-14 01:28:00
【问题描述】:
背景:我正在维护一个与我公司的服务器通信的旧 C++ 应用程序。公司中没有人(包括我)对 C++ 或许多其他正在使用的技术有任何重要的经验。
问题:我正在尝试上传一个包含如下代码的文件:
if(HttpSendRequestEx(hReq, &InBuf, NULL, HSR_INITIATE, 0))
{
unsigned long ulWrote;
BOOL bWrote;
bWrote = InternetWriteFile(hReq, postData, postDataLength, &ulWrote);
if(bWrote)
{
if(!HttpEndRequest(hReq, NULL, 0, 0))
{
DWORD errorCode = GetLastError(); // 12002 - timeout
}
}
}
这里还有很多其他错误处理,但我已将其剥离到我发现问题的地方。
小文件将毫无问题地上传,大文件 (~25MB) 会遇到超时。即使发生超时,很多时候文件都会成功上传,所以我认为这不是服务器端的问题。只是抑制或忽略错误似乎是错误的,但我还没有找到任何方法将超时设置为更合理的水平。
【问题讨论】: