2011-06-20 11 views
0

Winhttp C++を使用してサーバーからexeファイルをダウンロードしています。私はそれがfine.Iは、通常、すべてのデータの読み出しを足し(WinhttpReadDataから読み込み)し、それを記録するために使用働きMSDNWinhttpReadData低速ネットワーク

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

を提供するサンプルコードを使用しています。

予想される結果は、合計がexeサイズと一致する必要があります。それは合理的に高速なネットワークで正常に動作します。

非常に遅いネットワークの場合。読み取られたデータが元のサイズよりも大きすぎます。しかし、私がダウンロードしたexeサイズをチェックすると、それはサーバのものと同じです。

ログ(読み取られたデータを合計)は、元のサイズよりも多くのデータを読み取ることを示します。

遅いネットワークでのみ発生することを忘れないでください。誰もこの問題に直面したことがありますか?

答えて

0

lpdwNumberOfBytesReadパラメータで返される値を尊重していますか?各呼び出しで読み取られるバイト数は、指定したバッファーのサイズより小さくなることがあります。特に、ネットワークの速度が遅いために、使用可能なバイト数が少なくなっている場合があります。

+0

はい私はそれを尊重しています。私はlpdwNumberOfBytesReadだけを追加しています。 – user738471

関連する問題