1

UDP と TCP に関する他の多くのスレッドを読みましたが、設計に関する私の質問に正しく答えるものを実際には見つけられませんでした

私がプロジェクトのために取り組んでいるチャット ネットワークには、クライアント、サーバー、およびハブ (サーバー) の 3 つの主要なアプリケーションがあります。

HUB サーバーは、すべてのサーバーを接続してネットワークを形成するメイン サーバーです。サーバーは作成中のチャット ルームに遅れずについていきます。つまり、サーバーはルームをホストします。クライアントは、サーバーに接続してチャット ルームに参加するために使用されます。

ここで私の主な関心事は、クライアントからクライアントへ、サーバーからサーバーへ、またはサーバーからクライアントへ要求を送信または実行するときに、UDP over TCP またはその逆をいつ使用する必要があるかということです。

注:このチャット ネットワーク プロジェクト全体は100% テキスト ベースであり、グラフィック、ウェブカメラ、マイク、またはファイル共有機能はありません。

4

4 に答える 4

4

UDPストリーミングなどで一部のパケットを失うことが許容される場合に使用されます。チャット システムの場合、メッセージを失うことは許されないので、私はTCP. 詳細については、TCP と UDP の違いを参照してください。TCP の代わりに UDP を使用するのが適切なのはいつですか? .

于 2013-08-02T04:51:14.837 に答える
0

まず、TCP と UDP とは何かを知る必要があります。

  1. TCP

    TCP は接続指向のプロトコルです。接続指向とは、通信デバイスがデータを送信する前に接続を確立し、データを送信した後に接続を閉じる必要があることを意味します。

  2. UDP UDP はデータグラム指向のプロトコルです。これは、接続の開始、接続の維持、および接続の終了にオーバーヘッドがないためです。UDP は、ブロードキャストおよびマルチキャスト タイプのネットワーク伝送に効率的です。

これで、TCP はパケット配信に関する情報/確認を提供する信頼できるプロトコルであることがわかります。一方、UDP はパケット配信で 100% の成功を保証するものではありません。

チャットサービスの場合。チャットのメッセージ配信は 100% 成功するはずなので、TCP を使用することをお勧めします。また、パケット配信が失敗した場合は、何らかの方法で UDP が機能しない再送信を試みることができます。

UDP は、ネットワーク経由でストリーミングを行うときに使用できます。その場合、UDP を使用するのが最適です。

クライアント間でチャットする必要があるだけの場合は、転送されたデータがそのまま残り、送信されたのと同じ順序で到着することが保証されるため、TCP を使用することをお勧めします。

于 2019-12-30T11:06:45.943 に答える