ZeroMQ库编译

ZeroMQ库编译

一、zmq下载

官网:https://zeromq.org/languages/cplusplus/

官网里面有各语言下载链接及简单用例

GitHub下载链接:https://github.com/zeromq

二、zmq简介

ZMQ (也拼写作ZeroMQ0MQØMQ)是一个为可伸缩的分布式或并发应用程序设计的高性能异步消息库。它提供一个消息队列, 但是与面向消息的中间件不同,ZeroMQ的运行不需要专门的消息代理。该库设计成常见的套接字风格的API。

ZMQ将消息通信分成4种模型:

  • 一对一结对模型(Exclusive-Pair),可以认为是一个TCP Connection,但是TCP Server只能接受一个连接。数据可以双向流动,这点不同于后面的请求回应模型。
  • 请求回应模型(Request-Reply),由Client发起请求,并由Server响应,跟一对一结对模型的区别在于可以有多个Client。
  • 发布订阅模型(Publish-Subscribe),Publish端单向分发数据,且不关心是否把全部信息发送给Subscribe端。如果Publish端开始发布信息时,Subscribe端尚未连接进来,则这些信息会被直接丢弃。Subscribe端只能接收,不能反馈,且在Subscribe端消费速度慢于Publish端的情况下,会在Subscribe端堆积数据。
  • 管道模型(Push-Pull),从 PUSH 端单向的向 PULL 端单向的推送数据流。如果有多个PULL端同时连接到PUSH端,则PUSH端会在内部做一个负载均衡,采用平均分配的算法,将所有消息均衡发布到PULL端上。与发布订阅模型相比,管道模型在没有消费者的情况下,发布的消息不会被消耗掉;在消费者能力不够的情况下,能够提供多消费者并行消费解决方案。该模型主要用于多任务并行。

这4种模型总结出了通用的网络通信模型,在实际中可以根据应用需要,组合其中的2种或多种模型来形成自己的解决方案。

ZMQ提供进程内(inproc://)、进程间(ipc://)、机器间(tcp://)、广播(pgm://)等四种通信协议。

三、zmq编译

1、windows编译

  • 解压下载好的zmq源代码
  • 打开CMake GUI(图形界面)
  • 指定libzmq源代码的位置及生成库文件存储位置,选择计算机内Visual Studio对应版本
  • 点击“Configure”以加载项目选项。从弹出窗口中,从列表中选择要使用的编译器。设置必要的项目选项,然后再次单击“配置”
  • 单击“Generate”以创建Visual Studio文件。
  • 单击“Open Project”; 在Visual Studio中加载后,根据需要选择Debug / Release,然后单击编译。

截图:ZeroMQ库编译_第1张图片

2、linux编译

在终端依次输入以下命令

  • tar -zxvf zeromq-4.2.1.tar.gz
  • cd zeromq-4.2.1
  • ./configure -without-libsodium
  • make
  • sudo make install
  • sudo ldconfig

注:第三步可能提示No package ‘libsodium’ found ,libsodium这个Lib是一个可跨平台安装的函式库,主要用于加密、解密与签名用,也是一個基于NaCI的加密库。解決办法:安裝libsodium或者在configure时不去理会这个功能。

你可能感兴趣的:(ZereMQ,socket,zeromq,c++)