C++ 全栈知识体系C++ 全栈知识体系
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
  • 开发

    • 常用开发库

      • 常用开发库 - 概述
      • 常用开发库 - Cppcheck
      • 常用开发库 - Cppunit
      • 常用开发库 - Drogon
      • 常用开发库 - FastCGI
      • 常用开发库 - Googletest
      • 常用开发库 - Hiredis
      • 常用开发库 - Jsoncpp
      • 常用开发库 - Log4cpp
      • 常用开发库 - Poco
      • 常用开发库 - Protobuf
      • 常用开发库 - Tinyxml
      • 常用开发库 - Yamlcpp
      • 常用开发库 - ZeroMQ
  • 测试

    • 测试理论

      • 测试理论 - 软件测试的发展
      • 测试理论 - 软件开发过程模型
      • 测试理论 - 测试模型
      • 测试理论 - 软件测试分类
      • 测试理论 - 基本原则及流程
    • 测试用例

      • 测试用例 - 概念
      • 测试用例 - 等价类划分法
      • 测试用例 - 边界值测试法
      • 测试用例 - 判定表法
      • 测试用例 - 因果图法
      • 测试用例 - 正交法
      • 测试用例 - 场景法
      • 测试用例 - 功能图法
    • 测试工具

      • 测试工具 - Postman使用
      • 测试工具 - RobotFramework使用

常用开发库 - zeromq

无代理的消息队列, 无代理指没有中间的缓存队列来存储消息

pub_sub:

  • base_use:基本的PUB-SUB模式,pubServer只推送music和programing的内容,subClient可以指定订阅的内容,默认music
  • better_use: server: ip:port + 多个topic,content对;client: ip:port + 多个要接收的topic。
  • syn_pubsub: syncpub中syncservice等待 SUBSCRIBERS_EXPECTED 数量的syncclient进行连接。等待连接建立后,
  • publisher发送10次更新消息给subscriber。

备注:5561端口用于消息发送,5562端口用于同步,syncsub进程要启动SUBSCRIBERS_EXPECTED个。

req_rep

  • hello_world:基础的C/S架构,其中server负责发送World,接收Hello;client负责发送Hello,接收World。但是程序不包括发送和接收消息的解析都是直接写在打印语句中。
  • pthread_use:在一个可执行程序中,创建多个线程,其中0线程是服务器,1线程是客户端,其他是工作线程。
  • pthread_use_s:进一步完善,通过zhelps.hpp的函数s_send和s_recv,完成C++程序的消息发送和接收,并不会存在pthread_use中需要解析字符串的问题。
  • req_rep_broker:request-reply broker 请求-应答代理可以客户-服务模式更容器伸缩,因为客户端看不见服务器,服务器也看不见 客户端。唯一稳定的节点是中间的代理。有代理的情况下,是rrbroker进行bind,rrserver和rrclient都是connect。
  • req_rep_identity:在request-reply模型中,封装拥有应答的返回地址。例子中,有identity为空的情况,XREP会自动生成 UUID用于传输套接字;在定义identity为Hello时,应答的时候使用这个identity作为应答的地址。
Last Updated:
Contributors: klc407073648
Prev
常用开发库 - Yamlcpp