iOS アプリでサーバーからデータをダウンロードしています。データのダウンロード速度を知りたいのですが、ダウンロードに 10 分以上かかる場合はダウンロードを停止したいので、ダウンロードに ASIHTTPRequest を使用しています。ダウンロード プロセスに 10 分以上かかる場合は、必要に応じてプロセスを停止できるというメッセージをユーザーに伝えたいと思います。Plzは私に解決策を提案します。
質問する
1255 次
2 に答える
2
簡単なタイマーを使用して、ダウンロードされたバイト数をすでに計ることができます。(時計()またはあなたが使用しているものは何でも)...
これにより、データがダウンロードされているスライドレートが得られます...バイトの違い/時間の違い..
ここで、ダウンロードする残りのバイト数を使用し、推定時間 = 残りのバイト数/上記で計算したレートとします。
推定時間が 10 分を超える場合は、停止します。(ソケットか何かを閉じます)
于 2012-06-11T12:59:43.190 に答える
0
@Karthik Kumar Viswanathanのソリューションは機能するはずですが、ダウンロード速度をユーザーに表示する場合は、速度を計算するときに転送された過去数秒のデータのみを使用する必要があることを付け加えておきます。そうしないと、「平均的な」速度で問題が発生します。たとえば、接続が 50 kbps で 10 秒間ダウンロードされ、次に 0 kbps で 10 秒間ダウンロードされた場合、10 秒間データをダウンロードしていないことがわかっている場合、20 秒間の最後に 25 kbps でダウンロードしていることを示します。秒。
明らかに、これを自分で使用するためだけに計算している場合は、平均速度の方が適切です。
于 2012-06-11T13:23:41.520 に答える