まず、同じサーバーで UDP と TCP の両方を使用することに問題はありますか?
次に、同じポート番号を使用できますか?
ベストアンサー1
はい、TCPとUDPの両方に同じポート番号を使用できます。多くのプロトコルはすでにこれを行っています。たとえば、DNSはudp/53で動作します。そしてTCP/53。
技術的には各プロトコルのポートプールは完全に独立していますが、TCPまたはUDPのいずれかを使用できる上位レベルのプロトコルでは、デフォルトで同じポートを使用するのが慣例です。番号。
サーバーを作成するときは、TCP ソケットのイベント シーケンスは UDP ソケットよりもはるかに難しいことに注意してください。これは、通常のsocket
および呼び出しに加えて、 およびbind
も実行する必要があるためです。listen
accept
さらに、そのaccept
呼び出しは新しいソケットを返し、それソケットでは、受信イベントもポーリングする必要があります。サーバーは、accept
複数のクライアントに同時にサービスを提供しながら、元のソケットで接続を継続できるように準備する必要があります。各クライアントは、独自のソケットで受信イベントをトリガーします。