1 つのプロセスを複数のポートにバインドしますか?

1 つのプロセスを複数のポートにバインドしますか?

ソケット サーバーを実行していて、非管理ポート (1024 より大きいポート) で着信接続をリッスンしています。また、このプロセスで、監視の目的で別のポート上の別の種類の接続を処理できるようにしたいと考えています。SE で、反対の状況 (多対 1) に関する質問を見つけましたが、これは 1 対多の状況になります。

質問: 1 つのプロセスを複数のポートにバインドすることは可能ですか?

もしそうなら、異なるポート上の接続を一意に確実に処理できますか (つまり、ポート 2000 は 1 つのコードを実行し、ポート 3000 は別のコードを実行します)。

プライマリ ポートに接続している他のクライアントを監視するための接続の処理方法については、他の提案も歓迎します。

答え1

絶対に可能です。セレクターまたはポーリングを使用して通知を受信し、各接続を管理できます。

http://linux.die.net/man/2/select

答え2

これはプログラミングに関する質問のように思えますが、まだ書いていないプログラム、そして言語が指定されていないプログラムに関する質問です。

1 つのプロセスを複数のポートにバインドすることは可能ですか?

はい。

異なるポートの接続を個別に確実に処理できますか

はい、各リスニング (バインド) ポートは個別のソケットによって処理されます (各リスニング ポートからのすべての接続も同様です)。

関連情報