2

iOS で TCP ソケットの再接続にバックオフ アルゴリズムを使用する利点はありますか? たとえば、最大 5 秒の遅延と 30 秒の遅延は、バッテリーの使用に顕著な影響を与えるでしょうか? バックオフ アルゴリズムは、一時的に負荷を処理できない場合に、サーバーで DOS を回避するのに主に役立つように思えます。クライアントの観点からの利点は明らかではないようです。

4

1 に答える 1

2

バックオフ アルゴリズム (指数バックオフ) は、クライアントがサーバーで進行中の輻輳を処理するのにも役立ちます。クライアントが T 秒間待機した後にサーバーがビジー状態の場合、次回は 2T 秒後に試行すると、サーバーに到達する可能性が高くなります。ここにリンクがあります: http://en.wikipedia.org/wiki/Exponential_backoff

第 2 に、TCP では、サーバーで保留中の接続のキューがいっぱいになる可能性もあり、その場合、TCP サーバーは暗黙的に SYN パケットを破棄します (Linux/Unix の場合)。バックオフがあると、TCP サーバーのアプリケーションが (accept() を呼び出して) 保留中の接続をデキューし、バックオフを実行するクライアント用のスペースをキューに作成できるように、クライアントに十分な時間が与えられます。

于 2013-09-06T04:54:04.910 に答える