2011-06-20 169 views
0

我使用Winhttp C++從服務器下載一個exe文件。我使用MSDNWinhttpReadData緩慢的網絡

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

提供的示例代碼它的工作原理fine.I通常用於添加了所有的數據讀取(讀取來自WinhttpReadData),並記錄它。

預期的結果是,添加的總和應該與exe的大小相匹配。它在合理的快速網絡中工作正常。

如果網絡速度很慢,讀取的數據比原始大小大得多。但是當我檢查下載的exe大小時,它與服務器的大小相同。

日誌(即將讀取的數據相加)顯示它讀取的數據比原始大小多。

請記住它只發生在慢速網絡中。有沒有人遇到過這個問題?

回答

0

您是否尊重通過lpdwNumberOfBytesRead參數返回的值?每次調用時讀取的字節數可能少於您提供的緩衝區大小 - 尤其是當由於網絡緩慢而可用的字節較少時。

+0

是的,我尊重它。我只加起來lpdwNumberOfBytesRead。 – user738471