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中,方便引用
最後的頭文件爲
大功告成,然後就是使用了。
未完待續…