2012-01-17 29 views
2

目前我有两个独立的C++程序,一个主控和一个从属。主设备使用boost::interprocess将一些数据写入共享内存,然后启动从内存中读取的从设备。两个程序之间的消息传递

我想要做的是让从站不断运行,并且当内存写入并准备从中读取时,主站向从站发送消息。

我能想到实现同样目标的唯一方法是让从属经常检查共享内存是否存在对象,以及何时检测到它从中读取并删除它。但是,这看起来并不理想。

有没有更好的方法来实现同样的事情?


背景:这是我刚才的问题here的延续...

回答

0

为什么没有他们沟通,通过Unix域套接字?从另一个问题,你说你在Ubuntu上构建这个,所以在Windows上不会立即工作。

Boost在boost::asio lib中支持这一点,我怀疑在编译windows时使用了命名管道套接字。