2

同じポートでリッスンするtcpソケットとudpソケットを構築できるので、同じポートでudpメッセージをリッスンし、それぞれが異なるソースエンドポイントをリッスンする複数のソケットを構築することは可能ですか?

設計的には、現在、「正しい」方法は、単一のソケットですべてのudpメッセージをリッスンし、アプリケーションレベルで発信元を判別することであるという印象を受けています。

4

1 に答える 1

3

ソケットオプションを使用して、同じローカルIP /ポートペアで複数のUDPソケットをリッスンすることは可能ですが、SO_REUSEADDR各ソケットに目的のリモートIP /ポートペアのパケットのみを受け入れるように指示する方法はないため、保証はありません。どのソケットがどのパケットを受信するか。そうです、正しいオプションは、受信した各パケットの送信IP /ポートを調べ、それに応じてパケットを送信する単一のソケットを使用することです。

于 2012-04-05T16:10:33.777 に答える