2012-01-17 70 views
2

目前我有兩個獨立的C++程序,一個主控和一個從屬。主設備使用boost::interprocess將一些數據寫入共享內存,然後啓動從內存中讀取的從設備。兩個程序之間的消息傳遞

我想要做的是讓從站不斷運行,並且當內存寫入並準備從中讀取時,主站向從站發送消息。

我能想到實現同樣目標的唯一方法是讓從屬經常檢查共享內存是否存在對象,以及何時檢測到它從中讀取並刪除它。但是,這看起來並不理想。

有沒有更好的方法來實現同樣的事情?


背景:這是我剛纔的問題here的延續...

回答

0

爲什麼沒有他們溝通,通過Unix域套接字?從另一個問題,你說你在Ubuntu上構建這個,所以在Windows上不會立即工作。

Boost在boost::asio lib中支持這一點,我懷疑在編譯windows時使用了命名管道套接字。