0

異なるクライアント ポートからメッセージを受信する際の UDP ソケット ポート バインドに問題があります。Linux サーバーの (20K) ポートをチェックする C++ ユーティリティをコンパイルしています。pthread_create でサーバーの異なるポートを送信するクライアント スレッドを作成します。サーバー側では、ソケットを特定のポートにバインドする必要があるため、recvfrom (ブロックされた IO のように選択) できるのは 1 つのポートのみです。異なるポートからメッセージを受信するための UDP サーバーに関する提案を教えてください。

4

2 に答える 2

1

recvfrom() で送信元アドレスを指定しないでください。すべてのリモート アドレスとポートから受信します。

于 2012-09-22T21:47:29.320 に答える
0

複数のポートでパケットを受信する場合は、複数のソケットを開きselect()、I/O を多重化するなどの方法を使用する必要があります。bind()Berkeley ソケット API では、1 つのソケットが複数のアドレスに接続することはできません。

于 2012-09-22T03:25:53.277 に答える