libminimsgbus集成消息通讯库(多协议订阅发布)
無中心訂閱發(fā)布
使用組播方式尋址,發(fā)布時通過組播發(fā)布本地接收訂閱的地址,通知各節(jié)點(diǎn)訂閱。
各節(jié)點(diǎn)以一個節(jié)點(diǎn)標(biāo)識區(qū)分(guid),節(jié)點(diǎn)啟動后自動初始化網(wǎng)絡(luò)接收(使用nng庫)。
點(diǎn)對點(diǎn)通信
? 程序集成了nng通信庫,提供了直接通信,當(dāng)前是tcp為主,如果需要使用其它協(xié)議,需要自己研究nng庫。
多類型訂閱發(fā)布
? 按照進(jìn)程內(nèi),進(jìn)程間,網(wǎng)絡(luò)實(shí)現(xiàn)多種方式。
進(jìn)程內(nèi)使用觀察者模式,進(jìn)程間使用內(nèi)存共享,網(wǎng)絡(luò)集成組件庫。
程序使用
? 訂閱發(fā)布
BusFactory::Create(BusType::Inpoc); BusFactory::Create(BusType::Ipc); BusFactory::Create(BusType::tcp);封裝了對象生成,也可以自行查閱直接使用對象。
網(wǎng)絡(luò)通信需要設(shè)置本地節(jié)點(diǎn)地址。
MsgLocalNode::LocalAddress = "127.0.0.1";
MsgLocalNode::LocalPort = 5567;
默認(rèn)地址為*,程序自動獲取可用ip,端口默認(rèn):5556。
點(diǎn)對點(diǎn)通信
PtpFactory::Create();
創(chuàng)建對象,設(shè)置其中的地址和端口,即可使用。
依賴項
1.程序集成了zmq,ipc,nng三個通信組件
2.依賴放在deloy文件夾中,包括頭文件和lib
3.訂閱發(fā)布tcp模式使用zmq組播作為尋址,使用nng作為通信組件。
程序說明
程序按照c++11標(biāo)準(zhǔn)編寫,支持Windows和Linux。
其中獲取本機(jī)地址和端口使用了系統(tǒng)的api,其余全部是c++11編寫。
項目地址:GitHub - jinyuttt/libminimsgbus: 集成訂閱發(fā)布和點(diǎn)對點(diǎn)通信
總結(jié)
以上是生活随笔為你收集整理的libminimsgbus集成消息通讯库(多协议订阅发布)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java netty开发一个http/h
- 下一篇: Automapper:UseDestin