0

我正在使用 Winhttp C++ 从服务器下载一个 exe。我使用 MSDN 中提供的示例代码

http://msdn.microsoft.com/en-us/library/aa384104%28v=vs.85%29.aspx

它工作正常。我通常用来添加所有读取的数据(从 WinhttpReadData 读取)并记录下来。

预期的结果是,添加的总和应该与 exe 大小匹配。它在相当快的网络中运行良好。

在网络非常慢的情况下。读取的数据比原始大小大太多。但是当我检查下载的 exe 大小时,它与服务器的大小相同。

日志(将读取的数据相加)显示它读取的数据多于原始大小。

请记住,它只发生在慢速网络中。有人遇到过这个问题吗?

4

1 回答 1

0

您是否尊重通过lpdwNumberOfBytesRead参数返回的值?每次调用读取的字节数可能小于您提供的缓冲区大小 - 特别是如果由于网络速度较慢而当时可用的字节数较少。

于 2011-06-20T16:40:42.007 回答