1

iPad A と iPad B の 2 つのデバイスがあります。両方とも、オーディオ/ビデオ データを送信するように設計された同じアプリケーションを使用します。

デバイスが互いに遠く離れており、トラフィックがローカル ネットワークではなくインターネットを経由する場合があります。

その場合、両端で同じネットワーク速度を保証することはできません。1 つのデバイスが 512Kb/s を別のデバイスから 5 分の 1 未満で送信する場合があります。

質問は -

両方のデバイス間のトラフィックをリアルタイムで測定し、必要に応じてスケールアップ/ダウンすることは可能ですか? たとえば、この時点でデバイス A の着信接続が 256kb/s しかないことがわかっている場合、デバイス B は 1mb/s から 256kb/s に自動的にスケールダウンする必要があります。

現在実装しているソリューションは、失われたパケットを認識してトラフィック/速度の低下を検出することです。しかし、それは完璧ではありません。

多分あなたは何かを読んだり、考えを持っていますか?

前もって感謝します、ドミトリー

4

1 に答える 1

2

ネットワーク層としてTCPを使用している場合、プロトコルはすでにフロー制御でそれを行っています。このプロトコルは、パケットが宛先に到達することも保証します1

何らかの理由で TCP を使用しない場合は、プロトコルが使用するアイデアに従うことができます - そのスライディング ウィンドウ (ウィキペディアの記事では、このアイデアの概念について説明しています)。

ただし、おそらく信頼できる接続が必要であり、結果としてトラフィック速度も確保したいので、既製のソリューションを使用し、ネットワークプロトコルとして TCP を選択することをお勧めします。


(1) 一定の制限まで、何度も試行に失敗した後、パッケージは破棄されますが、これはめったに発生しません。

于 2012-11-07T06:26:58.223 に答える