UNIX Sockets APIを使用してローカルで使用可能なUDPポートを見つける方法

StackOverflow https://stackoverflow.com/questions/276647

  •  07-07-2019
  •  | 
  •  

質問

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

具体的には、プロセス間で名前付きパイプまたは共有メモリを使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top