1
我有三個或更多的進程需要相互溝通。所有這些都不是雙向的,也就是說,process1可能必須與process2交談,但process2不必與process1交談,但有些是雙向的。如何處理三個或更多進程之間的IPC?
我在考慮消息隊列。但我讀過,一次只能有一個進程註冊通知。我想,這消除了MQ的使用。
沒有其他IPC似乎適合這個。
請建議我,如果我思考的權利。也建議我實施我的要求的方法。
謝謝。
我有三個或更多的進程需要相互溝通。所有這些都不是雙向的,也就是說,process1可能必須與process2交談,但process2不必與process1交談,但有些是雙向的。如何處理三個或更多進程之間的IPC?
我在考慮消息隊列。但我讀過,一次只能有一個進程註冊通知。我想,這消除了MQ的使用。
沒有其他IPC似乎適合這個。
請建議我,如果我思考的權利。也建議我實施我的要求的方法。
謝謝。
存在消息隊列的許多實現。如果您正在討論發佈 - 訂閱消息傳遞,通常會有很多訂閱者。對於其他中間件,您可以進行任意數量的單向或雙向通信,但很少進行廣播。
您可能想要檢查我們的MsgConnect(開放源代碼),它可以讓您的應用程序在同一個系統上或通過網絡向對方發送消息(無論是否回覆)。
謝謝尤金......請建議我現有的機制,避免使用任何其他庫,如MsgConnect。 – crusader 2013-04-26 14:15:57
考慮到雙向通信,我可以在只有單個消息隊列的三個或更多進程之間管理IPC嗎? – crusader 2013-04-28 09:00:03
@crusader與發佈 - 訂閱消息傳遞,是的 - 您有一個客戶端進程連接的服務器上的單個總線。他們可以在公共汽車上播放消息。這取決於消息隊列的特定實現。 – 2013-04-28 09:50:53