ZeroMQ编译
项目需求
当有两个项目或者多个项目的实时需要进行信息的交换,根据项目的要求有实时的和非实时的。常用的是基于消息队列的机制,特别是网站的项目。但一般都会把消息框架搭建在公共的服务器上,作为一个中间层,我们这里需要的是不需要服务器也能交换信息,因此基于socket进行通信,但是socket底层写起来难以维护和管理,特别是涉及到多进程机制。这里有个基于C编写的ZeroMQ,根据官网评价,消息交换速度快、吞吐量大、可以做到实时消息通信,最重要的是它提供了目前主要的各种开发语言的接口。
libzmq编译
在开发中,zmq底层c开发的,并且名称为libzmq. 我们需要事先编译libzmq库,https://zeromq.org/download/?language=c&library=libzmq# 可以选择自己的编译器,直接下载编译好的Release版本。
但是在使用过程中,发现最新的4.3.2 版本有问题,发送请求报错,实在无奈,下载源码自己编译,我这里选择了低版本的4.3.0: 源码地址:https://github.com/zeromq/libzmq/tree/v4.3.0
其他的版本我没有测过,请自行测试。
分别编译Release和Debug版本
编译好之后,是这样子的。
C++接口-cppmq
我是用的qt做的开发,zeromq的上层接口,我选择cppmq
在Github上下载下来:https://github.com/zeromq/cppzmq
不需要编译,有两个hpp后缀的头文件引用即可,我为了方便拷贝到了libzmq的include中,方便引用
最后的头文件为
大功告成,然后就是使用了。
未完待续…