目前主流的QtMqtt库有两个,一个是Qt官方的,另一个是EMQ的,本文介绍第一种。由于我使用的Qt5.14.2,官方QtMqtt源码的6.0版本需要Qt6支持,因此我只能选择5.12.12版本的。
1. 在Qt安装目录的运行库include文件夹下新建“QtMqtt”文件夹,如下图:
2. 打开QtMqtt5.12.12源码的src\mqtt文件夹,将所有.h文件拷贝到刚才新建的“QtMqtt”目录下。
3. 打开项目,取消Shadow build的勾选,编译整个项目。
1. 将lib目录下编译好的Qt5Mqtt.dll和Qt5Mqttd.dll拷贝到Qt安装目录下工具链的lib目录下
2. 将bin目录下编译好的Qt5Mqtt.dll和Qt5Mqttd.dll拷贝到Qt安装目录下工具链的bin目录下
3. 将mkspecs\modules-inst目录下的两个.pri文件拷贝到Qt安装目录下工具链的mkspecs\modules目录下。
1. 只打开一个实例比较便于编译排故,找到simpleclient工程的文件夹,将其拷贝到其他位置,然后打开,否则会由于工程链接问题而报错。
2. 去掉Shadow build的勾选并编译。
3. 出现以下故障的话,将原来的
#include
#include
4. 编译运行成功
5. 连接服务器
如果你不会搭建Mqtt中断服务器还想运行实例,那就使用免费的测试中断服务器:
服务器地址 | 服务器类型 | 开发 | 端口 | Websocket |
---|---|---|---|---|
test.jmqtt.io | JMQTT | java开放源码 | 1883 | 8000 |
注意:国内的test.jmqtt.io不是很稳定,有时无法连接,建议使用下面得到国外站点。
服务器地址 | 服务器类型 | 开发 | 端口 | Websocket |
---|---|---|---|---|
iot.eclipse.org | Mosquitto | c语言开放源码 | 1883 / 8883 | - |
broker.hivemq.com | HiveMQ | java商业授权 | 1883 / 8883 | 8000 |
test.mosquitto.org | Mosquitto | jc语言 开放源码 | 1883 / 8883 / 8884 8080 / | 8001 |
test.mosca.io | mosca | js 开放源码不利于维护 | 1883 | 80 |
broker.mqttdashboard.com | HiveMQ | 商业服务 | 1883 | - |