需要的软件:Mosquitto搭建本地服务器 Mqttfx用于测试本地服务器 qt的客户端demo
下载后安装,新建一个安装的文件夹,不要有英文路径即可,记住自己的安装路径!
一、mosquitto的安装和运行
Mosquitto运行可以参考:MQTT | Windows + mosquitto搭建MQTT Broker(本地服务器)与MQTTX客户端联调
启动 Windows Powershell,如果安装的不是在C盘,则输入如:E:回车进行盘切换,cd指令,进入到安装路径下,找到mosquitto文件夹,如下图:
如果运行下面代码报错,或者如我上述一样的情况,这总情况就是端口被占用了,杀死占用端口的进程即可。
.\mosquitto -c .\mosquitto.conf -v
或者在通过“服务”去打开Mosquitto失败或者报错应该是1883端口被占用了,在window搜索框下,搜windows PowerShell,输入 :netstat -ano | findstr 1883
杀掉进程命令:taskkill /pid 22080 /f
这里的pid 后面跟的数字,就是你上述指令查到的LISTENING后面的数字,杀掉再重新通过
.\mosquitto -c .\mosquitto.conf -v命令启动。
成功后会显示:mosquitto version xxx.xx.x running
如:
二、mqttfx连接本地服务器
安装mqttfx,不要有英文路径。
查询本地IP,在windows搜索框输入cmd,输入 ipconfig 可以看到自己使用的IPv4地址。
打开mqttfx软件
这里的ip输入自己刚刚通过ipconfig得到的Ip地址!
完成上述后,点击connect:
注意!!!现在打开之前运行Windows PowerShell界面,连接了应该如下图:
接下来测试mqttfx的订阅和发布
点击publish页面的mytopic旁边的publish,观察订阅页面的情况
证明环境没问题了,也可以从终端观察到,每次发布和转发消息的情况:
三、qt的mqtt动态库的编译
从github下载官方提供的自己对应版本的mqtt版本:
注意事项:1选自己正确的版本 2确保有.pro文件的存在!
后续可以参考:QT 配置 MQTT(官方库)
参考上述链接的过程中,要注意:复制粘贴的时候,一定要注意,仅复制.h文件!
四、移植qtmqtt测试的demo进行测试
下载资源:qt的客户端demo
1、删掉.pro.user文件夹
2、include 和lib从自己刚刚编译的文件夹下拷贝过来
五、测试效果
终端效果如下:有时候连接不上是mosquitto结束了,重启就可以了。
MQTT.fx页面如下:
QT客户端demo运行情况如下:
完结~~