1. 首先需要下载cppzmq的库

github:https://github.com/zeromq/cppzmq

2. 将zmq.hpp 和 zmq_addon.hpp 两个库文件放入到自己的工程里面

3. 写demo

/*server.cpp*/#include <iostream>
#include <unistd.h>
#include "zmq.hpp"
#include "zmq_addon.hpp"int main()
{zmq::message_t msg;zmq::context_t zmq_context(1);                   //获取zmq上下文zmq::socket_t zmq_socket(zmq_context,ZMQ_PUB);   //创建ZMQ_PUB模式的socketzmq_socket.bind("tcp://*:6666");                 //绑定端口号std::string send_str = "hello world!"; msg.rebuild(send_str.data(), send_str.size());while(1){zmq_socket.send(msg, zmq::send_flags::dontwait);sleep(1);}return 0;
}
/*client.cpp*/#include <iostream>
#include <string>
#include "zmq.hpp"
#include "zmq_addon.hpp"int main()
{zmq::context_t zmq_context(1);                  //获取zmq上下文zmq::socket_t zmq_socket(zmq_context,ZMQ_SUB);  //创建ZMQ_PUB模式的socketzmq_socket.connect("tcp://localhost:6666");     //通过一个socket创建一个对外连接char topic[] = "333";   sock.set(zmq::sockopt::subscribe, zmq::const_buffer(topic, strlen(topic))); //设置过滤条件zmq::message_t msg;while(1){sock.recv(msg, zmq::recv_flags::none);      //接收消息cout << msg.to_string() << endl;}return 0;
}

4. 编译

g++ server.cpp zmq.hpp zmq_addon.hpp -o server -lzmq

g++ client.cpp zmq.hpp zmq_addon.hpp -o client -lzmq

cppzmq发布订阅模式相关推荐

  1. Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)

    1. 发布-订阅概念 发布-订阅 模式包含两种角色,分别为发布者和订阅者. 订阅者可以订阅一个或者若干个频道(channel): 而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都可以收到此消 ...

  2. Redis 高级特性(2)—— 发布 订阅模式

    Redis 高级特性 -- 发布订阅 1. 发布-订阅介绍 "发布-订阅"模式包含两种角色,分别为发布者和订阅者.订阅者可以订阅一个或者若干个频道(channel),而发布者可以向 ...

  3. 【EventBus】发布-订阅模式 ( Android 中使用 发布-订阅模式 进行通信 )

    文章目录 一.拷贝 发布-订阅模式 相关类 二.完整代码示例 一.拷贝 发布-订阅模式 相关类 将上一篇博客 [EventBus]发布-订阅模式 ( 使用代码实现发布-订阅模式 ) 写的 发布-订阅模 ...

  4. 【EventBus】发布-订阅模式 ( 使用代码实现发布-订阅模式 )

    文章目录 一.发布-订阅模式 二.代码实现发布-订阅模式 1.订阅者接口 2.订阅者实现类 3.发布者 4.调度中心 5.客户端 一.发布-订阅模式 发布订阅模式 : 发布者 Publisher : ...

  5. 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )

    文章目录 一.发布-订阅模式 二.EventBus 组成模块 三.观察者模式 一.发布-订阅模式 发布订阅模式 : 发布者 Publisher : 状态改变时 , 向 消息中心 发送事件 ; 订阅者 ...

  6. JavaScript 设计模式之观察者模式与发布订阅模式

    前言 在软体工程中,设计模式(design pattern)是对软体设计中普遍存在(反复出现)的各种问题,所提出的解决方案. 设计模式并不直接用来完成程式码的编写,而是描述在各种不同情况下,要怎么解决 ...

  7. 点击事件调用匿名函数如何传参_事件发布/订阅模式的简单实现

    这是一种广泛应用于异步编程的模式,是回调函数的事件化,常常用来解耦业务逻辑.事件的发布者无需关注订阅的侦听器如何实现业务逻辑,甚至不用关注有多少个侦听器存在.数据通过消息的方式可以灵活的传递. --& ...

  8. 利用zookeeper实现发布订阅模式

    zookeeper应用 发布订阅 zk实现的方式是推拉结合,Client想服务端注册自己需要关注的节点,一旦节点的数据发生变更,那么Server会向对应的客户端发送Watcher事件通知,客户端接收到 ...

  9. 设计模式(三):观察者模式与发布/订阅模式区别

    在翻阅资料的时候,有人把观察者(Observer)模式等同于发布(Publish)/订阅(Subscribe)模式,也有人认为这两种模式还是存在差异,而我认为确实是存在差异的,本质上的区别是调度的地方 ...

最新文章

  1. “非深度网络”12层打败50层,普林斯顿+英特尔:更深不一定更好
  2. 物联网云平台-贝壳物联入门详细使用方法
  3. JVM 调优实战--使用jstack分析线程执行情况
  4. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
  5. OpenStack-Zun 使用
  6. Windows平台下go编译器LiteIDE的安装和使用
  7. shellcode编写
  8. 今日恐慌与贪婪指数为79 贪婪程度有所上升
  9. const应用(C、C++)
  10. vue延迟渲染组件_做一个可复用的 echarts-vue 组件(延迟动画加载)
  11. 软件开发职业发展路径
  12. win7下桌面IE快捷方式无法删除解决方法
  13. 【重磅】云栖社区2017年度内容特辑
  14. 谁说程序员过了35岁之后就要去“送外卖”、“跑滴滴”?这几种发展走向照样解除焦虑
  15. 我的世界服务器怎么发全部消息,我的世界服务器里起床战争怎么向所有人说话...
  16. php技术座右铭,100句激励自己的座右铭
  17. 深入分析事物以及什么是分布式事物?
  18. 管理Linux系统中的进程
  19. 自动驾驶(四十六)---------毫米波雷达简介
  20. linux怎样查看当前文件目录位置

热门文章

  1. linux 查看进程命令
  2. linux键盘修复,linux和macos_如何在macOS和Linux上修复Corsair鼠标和键盘问题
  3. 三菱PLC控制三轴(3个伺服)机械搬运手程序
  4. DICOM:剖析Orthanc中的Web Server,Mongoose之 Flag bit Event(三)
  5. origin9语言设置中文_《LOL》手游中文如何设置 中文设置方法分享
  6. 天天写业务代码的程序员,怎么成为技术大牛
  7. Linux IO Scheduler--CFQ(下)
  8. win10设置锁屏密码
  9. python实现ID3决策树及随机森林
  10. 如何修复Windows系统上出现的无法访问Internet错误问题