UNIX Sockets APIを使用してローカルで使用可能なUDPポートを見つける方法
質問
1つのプロセスにメッセージを送信する必要がある可能性のある多くのプロセスがあるアプリケーションがあります。これを行う最も適切な方法は、UDPデータグラムを送信することだと考えました。
ソケットを開くとき、リッスンするポートを指定する必要があります。 UDPデータグラムを起動して忘れたいだけなので、OSに使用可能なポートを選択させたいだけです。特に、プロセスの多くのインスタンスが実行されている可能性があるため、1つを探す必要はありません。 UDPデータグラムを起動して忘れるために、使用可能なポートを選択する(または、リッスンソケットを開かない)ようにOSに指示する方法はありますか?
解決
はい。ポートとして0を指定します。 OSは使用可能なポートを選択します。
他のヒント
「問題」への回答「質問」ではなく
すべてのプロセスが同じPCで動作している場合は、共有ファイルまたはネットワークスタック以外の通信手段を調べてください。
Boostのプロセス間ライブラリのオプションを調べることをお勧めします http://www.boost.org/doc/libs/ 1_37_0 / doc / html / interprocess.html
クイックガイドはこちら: http://www.boost.org/doc/ libs / 1_37_0 / doc / html / interprocess / quick_guide.html
具体的には、プロセス間で名前付きパイプまたは共有メモリを使用することをお勧めします。
所属していません StackOverflow