libminimsgbus集成消息通訊庫(多協議訂閱發佈)

 無中心訂閱發佈

使用組播方式尋址,發佈時通過組播發布本地接收訂閱的地址,通知各節點訂閱。

各節點以一個節點標識區分(guid),節點啓動後自動初始化網絡接收(使用nng庫)。

點對點通信

  程序集成了nng通信庫,提供了直接通信,當前是tcp爲主,如果需要使用其它協議,需要自己研究nng庫。

多類型訂閱發佈

  按照進程內,進程間,網絡實現多種方式。

  1. 進程內
  2. 進程間
  3. 網絡

進程內使用觀察者模式,進程間使用內存共享,網絡集成組件庫。

程序使用

  訂閱發佈

BusFactory::Create(BusType::Inpoc);
BusFactory::Create(BusType::Ipc);
BusFactory::Create(BusType::tcp);

封裝了對象生成,也可以自行查閱直接使用對象。

網絡通信需要設置本地節點地址。

MsgLocalNode::LocalAddress = "127.0.0.1";
MsgLocalNode::LocalPort = 5567;

默認地址爲*,程序自動獲取可用ip,端口默認:5556。

點對點通信

PtpFactory::Create();

創建對象,設置其中的地址和端口,即可使用。

 

依賴項

1.程序集成了zmq,ipc,nng三個通信組件
2.依賴放在deloy文件夾中,包括頭文件和lib
3.訂閱發佈tcp模式使用zmq組播作爲尋址,使用nng作爲通信組件。

程序說明

程序按照c++11標準編寫,支持Windows和Linux。

其中獲取本機地址和端口使用了系統的api,其餘全部是c++11編寫。

 

項目地址:GitHub - jinyuttt/libminimsgbus: 集成訂閱發佈和點對點通信


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章