2012-01-17 17 views
2

現在、私は2つのスタンドアロンのC++プログラム、マスターとスレーブを持っています。マスタは、boost::interprocessを使用して共有メモリにデータを書き込み、スレーブを起動します。スレーブはメモリから読み込み可能です。2つのプログラム間のメッセージの受け渡し

私がしたいのは、スレーブを常時稼働させておき、メモリが書き込まれて読み込める状態になったときにマスターがスレーブにメッセージを送信することです。

私は同じことを達成するために考えている唯一の方法は、スレーブがオブジェクトの存在のために共有メモリを常にチェックし、それが読み取られて削除されたことを検出することです。しかし、これは最適ではないようです。

同じことを達成するより良い方法はありますか?


背景:これは私の前の質問hereの続きです...

答えて

0

彼らは、UNIXドメインソケットを介して通信していないのはなぜ?他の質問から、あなたはubuntuでこれを構築していると言っていましたので、すぐにウィンドウで動かないでしょう。

ブーストはboost::asio libでこれをサポートしていますが、これはウィンドウ用にコンパイルするときに名前付きパイプソケットを使用すると思われます。

関連する問題