私のアプリケーションは、ビデオ データをフレームごとにサーバーからクライアントに送信する必要があります。TCP と UDP のどちらを使用するか迷っています。
私のテストから、次の結果がいくつかわかりました。
TCP: 実装は非常に簡単です。
UDP: フレーム (約 50KB) をクライアントに送信するために、フレームごとに 1 つの UDP パッケージを作成すると、送信で常にフレームが失われます。そのため、各フレームを多数の UDP パッケージに分割する必要があります。UDP プロトコルではパッケージが失われる可能性があり、パッケージが順不同で配信される可能性があるため、これにより私のアルゴリズムはより洗練されたものになります。さらに、各 UDP パッケージ内のデータの長さが大きいと、簡単に失われます。
いくつか質問があります:
このタイプのアプリケーションには TCP または UDP を使用する必要がありますか?
UDP を使用して転送を高速化したい場合、転送中に簡単に失われない各パッケージの適切なデータ長を決定する方法を教えてください。(これはおそらくネットワーク帯域幅に属します)?
あなたの経験から、TCP が UDP よりも何% 速いかを見積もることができますか?
投稿で多くの質問をして申し訳ありませんが、アプリケーションで TCP と UDP のどちらを使用するかを決定する前に、詳細を知る必要があります。