【问题标题】:Do windows provide message queue similar to that of UNIX message queues (IPC) [duplicate]Windows是否提供类似于UNIX消息队列(IPC)的消息队列[重复]
【发布时间】:2019-02-11 11:34:31
【问题描述】:

我需要为 Windows 开发一个消息队列,类似于 Unix 中可用的消息队列 IPC,但我做了一些研究,但没有发现任何有用的东西。另外,我不应该使用任何第三方或收费的许可产品。

【问题讨论】:

  • 我不太明白问题是什么。 “我需要开发一个消息队列”。这是一个要求,而不是一个问题。

标签: windows winapi


【解决方案1】:

Windows 上有一个内置的消息队列 (MSMQ)。

【讨论】:

    【解决方案2】:

    如果两个应用程序都有消息泵,您可以使用WM_COPYDATA 消息在它们之间发送消息。

    如果没有,您可以使用CreateNamedPipeConnectNamedPipe,以消息模式创建管道。

    请注意WM_COPYDATA 是同步的(意味着发送应用程序将阻塞直到接收应用程序处理完消息),如果这让您担心的话。

    【讨论】:

    • WM_COPYDATA 是同步的
    • @DavidHeffernan 我怀疑这会困扰 OP。他可能只是想从 A 接收消息到 B。
    • 有趣。我想知道你是如何得出这个判断的。
    • @DavidHeffernan 这不是不合理的,你不觉得吗,WM_COPYDATA 提供了一个很好的、直接的 IPC 机制,它适用于大多数简单的需求,这就是我提到它的原因。
    • 对我来说,消息队列应该需要同步传递似乎是不合理的。为什么要求发送者等待消息被处理?这就是 UNIX 消息队列的作用吗?您对 UNIX 消息队列了解多少?
    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 2021-03-12
    • 2011-02-20
    • 2013-02-21
    • 2019-08-21
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多