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 に答える