【问题标题】:lightweight cross-platform message queue for IPC [closed]用于 IPC 的轻量级跨平台消息队列 [关闭]
【发布时间】:2012-12-11 17:47:24
【问题描述】:
gcc 4.7.2
c89

我正在寻找一种轻量级消息队列 (IPC),即跨平台(linux、windows)。

我使用过 msgget、msgsnd 和 msgrcv。但这不是跨平台的,因此无法在 Windows 上运行。

我不需要任何套接字层(tcp、udp)。因为所有消息都将在同一台服务器上。

基本上,我有一个事件循环,我将阻塞(单独的线程),直到我从消息队列 (msgrcv) 中收到一条消息。然后处理该事件。消息将来自我创建的另一个共享库,我将在我的事件循环中监视事件。

我只想能够将消息发送到消息队列 (msgsnd),然后在我的事件循环中接收它们 (msgrcv)。

【问题讨论】:

  • 消息是来自不同的进程还是来自同一个进程的不同线程

标签: c ipc message-queue


【解决方案1】:

AFAIK 有两个这样的东西:ØMQGearman

ØMQ 是用作并发框架的套接字库,适用于可扩展多核消息传递应用程序的异步 I/O。它支持大多数操作系统,包括 Linux、Windows、OS X。

Gearman 允许您并行工作、负载平衡处理以及在语言之间调用函数。换句话说,它是分布式处理如何通信的神经系统。

【讨论】:

  • 请注意,zmq 都有进程内传输和 IPC 传输,它不仅使用 TCP/IP 套接字。
【解决方案2】:

您可以查看我们的MsgConnect(提供免费许可证)。 MsgConnect 是一个跨平台(包括 Linux 和 Windows)的面向消息的中间件框架,旨在方便在同一台计算机上或跨网络发送消息。

【讨论】:

  • 为了全面披露,您可能应该提到您为制作 MsgConnect 的公司工作。
  • @EvanHaas “我们的”这个词被混淆了这么多?
  • 啊,我的错误(我读的是“check out”而不是“check our”)。恕我直言,您仍然应该使免责声明更加突出......
猜你喜欢
  • 1970-01-01
  • 2010-09-08
  • 2021-12-07
  • 1970-01-01
  • 2012-09-19
  • 2021-03-12
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
相关资源
最近更新 更多