ZMQ(zeromq)被稱爲史上最快的“消息隊列”,它處於會話層之上,應用層之下,使用後臺異步線程完成消息的接受和發送,近乎完美的封裝了Socket API,大大簡化了編程人員的複雜度。其作爲消息中間件,在IPC通信領域應用廣泛。下面介紹如何在windows平臺下通過qt使用zmq。
首先需要下載windows下的zmq庫: https://zeromq.org/download/ 當然也可以自己下載源碼進行編譯。
下載完成後,解壓後找到zmq的庫和頭文件。
創建qt工程:
在工程文件.pro中添加庫路徑,指定依賴庫。(每個人的路徑不一致,請根據庫文件所在路徑自行更改,建議不要放在中文路徑下)
LIBS += -LD:/Qt/libzmq-v140-4_3_2/ -lzmq-v140-mt-4_3_2
INCLUDEPATH += D:/Qt/libzmq-v140-4_3_2
DEPENDPATH += D:/Qt/libzmq-v140-4_3_2
在工程中包含“zmq.h”即可調用zmq函數接口。
zmq使用示例可參考:https://blog.csdn.net/fangye945a/article/details/84863177
如下爲qt通過zmq進行進程通信的demo,左邊進程作服務端、訂閱數據。右邊進程作客戶端、發佈數據:
demo源碼下載:https://download.csdn.net/download/fangye945a/12490560
注意:由於zmq庫依賴libsodium庫,所以在發佈程序時,需要將解壓目錄下的libsodium.dll一起打包,程序才能正常運行。