2012-12-26 79 views
4
gcc 4.7.2 
c89 

我正在尋找一個輕量級消息隊列(IPC),即跨平臺(linux,windows)。用於IPC的輕量級跨平臺消息隊列

我已經使用了msgget,msgsnd和msgrcv。但是這不是跨平臺的,所以不適用於Windows。

我不需要任何套接字層(tcp,udp)。因爲所有的消息都將在同一臺服務器上。

基本上,我有一個事件循環,我會阻塞(單獨的線程),直到我從消息隊列(msgrcv)中收到消息。然後處理該事件。這些消息將來自我創建的另一個共享庫,我將監視事件循環中的事件。

我只是希望能夠發送消息到消息隊列(msgsnd),然後在我的事件循環中接收它們(msgrcv)。

+1

消息來自同一個_process_中的_processes_或不同的_threads_嗎? –

回答

3

AFAIK有兩個這樣的事情:ØMQGearman

ØMQ是充當併發框架的套接字庫,適用於可擴展多核消息傳遞應用的異步I/O。它支持大多數操作系統,包括Linux,Windows,OS X.

Gearman允許您並行工作,進行負載平衡處理以及在語言間調用函數。換句話說,它是分佈式處理交流的神經系統。

+1

請注意,zmq都有進程和IPC傳輸,它不僅使用TCP/IP套接字。 – nos

0

您可以查看我們的MsgConnect(免費許可證可用)。 MsgConnect是一個跨平臺(包括Linux和Windows)面向消息的中間件框架,專爲在同一臺計算機或跨網絡輕鬆發送消息而設計。

+0

爲了充分披露,您應該提及您爲使用MsgConnect的公司工作。 –

+0

@EvanHaas是「我們」這個詞的混淆了嗎? –

+0

啊,我的錯誤(我讀了「check out」而不是「檢查我們的」)。恕我直言,你仍然應該使聲明更加突出...... –