2013-07-25 47 views
0

设置:4个进程需要监视集中式源(我正在考虑Message Queue),并在消息放入队列时收到警报。这是为了报告每个流程需要知道的错误,以决定他们将如何处理它。进程之间的Windows CE集中式消息队列

但是我有几个问题,因为我想确保消息队列是在我冒险走到那条路前最好的方式。

Windows CE上的Message Queue API是否有某种事件/通知?如果没有,Windows CE操作系统本身是否允许您以某种方式配合队列,以便发送新消息到来?对于这种设置和要求,是否有更好的Inter Process通信工具?

编辑:另外,这将是一个不能丢失的错误的运行日志,所以我会把它放在我的闪存。

回答

0

总是有效的是通过环回的简单TCP连接。这也可以很容易地在桌面系统上进行调试,以防万一。关于CE的消息队列,它们总是1:1,所以你需要尽可能多的进程间连接。另外,如果您想以类似TCP流的方式使用它们,则每个方向都需要一个。

还有另外一种方法可以使用,那就是监视你记录信息的文件。我不确定CE支持文件更改的通知API的程度,但如果您不需要低延迟响应,您可以随时轮询每一个。或者,在写入日志文件后使用命名事件。

+0

发现CE确实支持NAMED事件。作为winAPI和嵌入式领域的新手,我没有意识到有一个命名事件意味着其他进程可以挂钩到全局事件中并使用它。它没有在MSDN的文档中说出命名或未命名事件的结果。在一些研究中发现这一点之后,我要去命名的事件路线。 –

+0

还有其他全局资源,例如互斥锁和共享内存,完全可以提供IPC功能。祝你好运! –