我正在使用Winhttp C ++从服务器下载exe。我使用MSDN中提供的示例代码
http://msdn.microsoft.com/en-us/library/aa384104%28v=vs.85%29.aspx
它工作正常。我通常用来添加所有读取的数据(从WinhttpReadData读取)并记录它。
预期结果是,添加的总和应与exe大小匹配。它在合理快速的网络中运行良好。
网络速度很慢的情况。读取的数据比原始大小大得多。但是当我检查下载的exe大小时,它与服务器的大小相同。
日志(将读取的数据相加)显示它读取的数据多于原始大小。
请记住,它只发生在慢速网络中。有人遇到过这个问题吗?
答案 0 :(得分:0)
您是否尊重通过lpdwNumberOfBytesRead
参数返回的值?每次调用时读取的字节数可能小于您提供的缓冲区大小 - 特别是如果由于网络速度慢而可用的字节数较少。