1

潜在的に多くのプロセスが 1 つのプロセスにメッセージを送信する必要があるアプリケーションがあります。これを行う最も適切な方法は、UDP データグラムを送信することだと考えました。

ソケットを開くとき、リッスンするポートを指定する必要があります。UDPデータグラムを起動して忘れたいだけなので、OSに使用可能なポートを選択させたいだけです。特にプロセスの多くのインスタンスが実行されている可能性があるため、1つを探す必要はありません。UDPデータグラムを起動して忘れるために、OSに利用可能なポートを選択するように(または、さらに良いことに、リスニングソケットを開くことさえしないように)指示する方法はありますか?

4

2 に答える 2

3

はい。ポートには 0 を指定します。OS が利用可能なポートを選択します。

于 2008-11-09T23:20:35.107 に答える
0

「問い」ではなく「問題」に答える

すべてのプロセスが同じ PC で動作している場合は、共有ファイルや、ネットワーク スタック以外の通信手段を調べてください。

Boost の Interprocess ライブラリ 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

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

于 2008-11-09T23:19:33.627 に答える