libminimsgbus整合訊息通訊庫(多協議訂閱釋出)
阿新 • • 發佈:2021-10-02
無中心訂閱釋出
使用組播方式定址,釋出時通過組播發布本地接收訂閱的地址,通知各節點訂閱。
各節點以一個節點標識區分(guid),節點啟動後自動初始化網路接收(使用nng庫)。
點對點通訊
程式集成了nng通訊庫,提供了直接通訊,當前是tcp為主,如果需要使用其它協議,需要自己研究nng庫。
多型別訂閱釋出
按照程序內,程序間,網路實現多種方式。
- 程序內
- 程序間
- 網路
程序內使用觀察者模式,程序間使用記憶體共享,網路整合元件庫。
程式使用
訂閱釋出
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編寫。
專案地址: