代码之家  ›  专栏  ›  技术社区  ›  Quibblesome

Windows CE中跨进程通信的最佳机制是什么?

  •  2
  • Quibblesome  · 技术社区  · 16 年前

    我以前没有这样做过,所以我很想知道人们会建议什么技巧,看看是否有什么我没有考虑过的。

    所有需要接收此事件的应用程序都是。可以考虑基于.NET Compact Framework的“仅托管”解决方案。

    2 回复  |  直到 16 年前
        1
  •  6
  •   ctacke    16 年前

    我发誓我在某个地方回答过这个问题——在这里,新闻组,博客,什么的——但我找不到,所以又来了:

    在Windows CE下,IPC确实有4个选项。我将在这里重点介绍CF解决方案。

    1. 使用插座。这是一种痛苦,因为事件源需要知道水槽的存在。这当然是我最不喜欢的选择,我几乎从不使用它。
    2. 一个命名的系统事件(A-la CreateEvent API)。这适用于简单的布尔类型事件,如“This is on”。CE很好,因为您还可以将32位值与事件相关联(SetEventData)。对于管理实现, see this blog entry (实际班级为 in the SDF ).
    3. 内存映射文件。这 SDF has an implementation 我在几个客户项目中使用过,所以它经过了很好的测试。总有一天,我应该写一篇关于如何使用它的博客文章,但你很聪明,可能会从文档中弄清楚。
    4. 点对点消息队列。这些是CE特有的,但很酷。内核将它们用于许多系统工作。它们非常快速和坚固。再一次, the SDF has an implementation . MSDN has an article on usage ,但请记住,MSDN代码中有一些SDF修复的错误。
        2
  •  1
  •   Peter    16 年前

    我看到的大多数解决方案都使用自定义消息传递协议。

    我知道紧凑型框架3.5中有WCF,但也有一些限制,而且有很多反馈说它不可靠。

    大多数机制的最大问题是序列化版本控制。

    请参阅此处 CF 3.5

    推荐文章