【问题标题】:Windows CE centralized message queue between processes进程间的 Windows CE 集中式消息队列
【发布时间】:2013-07-25 22:24:40
【问题描述】:

设置:4 个进程需要监视一个集中的源(我在想消息队列),并在将消息放入队列时收到警报。这是为了报告每个进程需要知道的错误,以决定他们各自将如何处理。

不过,我有几个问题,因为我想确保消息队列是解决此问题的最佳方式,然后再冒险走这条路。

Windows CE 上的消息队列 API 是否具有某种事件/通知?如果没有,Windows CE 操作系统本身是否允许您以某种方式连接到队列以获取新消息到达的警报?对于这种设置和要求,是否有更好的进程间通信工具?

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

【问题讨论】:

    标签: c++ winapi events windows-ce message-queue


    【解决方案1】:

    始终有效的是通过环回的简单 TCP 连接。如果您愿意,这也使得在桌面系统上进行调试变得容易。关于 CE 的消息队列,它们始终是 1:1,因此您需要尽可能多的进程之间的连接。此外,如果您想以类似 TCP 流的方式使用它们,则每个方向都需要一个。

    您还可以使用另一种方法,即监控您将信息记录到的文件。我不确定 CE 在多大程度上支持文件更改的通知 API,但如果您不需要低延迟反应,您可以随时轮询。或者,在写入日志文件后使用命名事件。

    【讨论】:

    • 发现 CE 确实支持 NAMED 事件。作为 winAPI 和嵌入式领域的新人,我没有意识到拥有一个命名事件意味着其他进程可以连接到全局事件并使用它。它没有在 MSDN 上的文档中说明命名或不命名事件的后果。在通过一些研究发现这一点后,我将走指定的事件路线。
    • 还有其他诸如互斥体和共享内存之类的全局资源,正是为了提供IPC功能。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2012-03-16
    • 2012-01-02
    • 2012-10-03
    • 2012-03-02
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多