zoukankan      html  css  js  c++  java
  • 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: 集成订阅发布和点对点通信


  • 相关阅读:
    vue报错 error: data.push is not a function
    vue elment.style样式修改(第三方组件自生成元素)
    按元素标签查询多个
    按css查询多个元素
    按CSS查询一个元素
    查询单个元素
    JavaScript 查找元素
    Spring 商品分类
    Spring 使用日志
    Spring 使用日期类型
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/15362453.html
Copyright © 2011-2022 走看看