1

HttpWebRequest を使用してファイルをアップロードする場合、要求ストリームへの最初の 2 つの書き込みは常にほぼ瞬時に完了します。何らかのバッファリングが発生しているに違いないと思ったので無効にしたので、これを行いました

_req.AllowWriteStreamBuffering = false;

しかし、それは何の違いもありません。

最後の 10 回の書き込み速度を平均することでアップロード速度を測定しているため、最初はアプリケーションが非常に速い速度を示し、その後 50kbps 程度に低下するので、ちょっと面倒です。

最初の書き込みから速度を測定できたらいいのにと思います。

何か案は?

4

2 に答える 2

1

TCP スタックは、アプリケーションからの最初の書き込みウィンドウを非常に迅速に取得する可能性があります。バックグラウンドでデータを送信しています(即座に受け入れた後)。

AllowWriteStreamBufferingHttpWebRequestバッファしないように指示します。TCP に何をすべきかを指示しません。

于 2012-06-03T11:13:08.587 に答える
0

USRは正しいです。

また、これはTCPの動作方法に関連している可能性があることも追加する必要があります。

最初のパックを連続して送信し、配信に失敗すると、ネットワークの問題に対応するために速度が低下しましたが、その後、速度が再びゆっくりと増加する可能性があります。

使用しているTCPのバージョンやネットワークの状態がわからないので、これについて推測することしかできません。

于 2012-08-16T09:44:05.110 に答える