無中心訂閱發佈
使用組播方式尋址,發佈時通過組播發布本地接收訂閱的地址,通知各節點訂閱。
各節點以一個節點標識區分(guid),節點啓動後自動初始化網絡接收(使用nng庫)。
點對點通信
程序集成了nng通信庫,提供了直接通信,當前是tcp爲主,如果需要使用其它協議,需要自己研究nng庫。
多類型訂閱發佈
按照進程內,進程間,網絡實現多種方式。
- 進程內
- 進程間
- 網絡
進程內使用觀察者模式,進程間使用內存共享,網絡集成組件庫。
程序使用
訂閱發佈
封裝了對象生成,也可以自行查閱直接使用對象。
網絡通信需要設置本地節點地址。
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編寫。
項目地址: