MQTT客户端QT的配置
来源:互联网 发布:h3c网络管理软件 编辑:程序博客网 时间:2024/06/06 11:43
编译环境是win10+QT5.6.1
具体步骤如下:
1、源码下载:https://github.com/emqtt/qmqtt/tree/master。
2、解压安装包。
3、在工程目录里面有一个src文件夹,用Qt打开 %解压路径%\qmqtt-master\qmqtt-master\src.pro文件,点击右键构建此工程目(编译源码)。
注:如果qt版本低于5.3,则会出现编译错误(源码下载页面有说明)
这里献上我下载的qt的安装包
https://pan.baidu.com/share/link?uk=3641294860&shareid=3607009364&adapt=pc&fr=ftw
4、在解压路径根目录生成lib、include文件夹。
5、将C盘根目录生成的include文件夹放入 %解压路径%\qmqtt-master\qmqtt-master\src\mqtt 里面,再将其复制到项目工程目录下;将lib文件夹也拷贝至项目工程目录下;将lib文件夹里的DLL动态库文件拷贝至项目工程生成的deBug文件夹。
注:我的include,lib文件时放在项目工作空间QTSpace下面。这样就可以用下面的方式访问
../lib/qmqtt.dll
6、在PRO文件里添加静态库文件:在pro文件中加入两行
LIBS+="../lib/qmqtt.dll"LIBS+="../lib/qmqttd.dll"
7、在PRO文件里添加QT+= network。
8、在工程文件里添加
代码编写
#include "qmqtt.h"#include<qnetWork.h>QMQTT::Client *client = new QMQTT::Client(QHostAddress::LocalHost, 1883);client->setClientId("clientId");client->setUsername("admin");client->setPassword("password");client->connectToHost()
下面简单了解一下使用方法,出自小白之手,如有错误,望指正。
槽
void setHost(const QHostAddress& host);设置服务器ip,如果本地调试则为localhostvoid setPort(const quint16 port);设置端口,默认1883。void setClientId(const QString& clientId);设置客户端唯一标识,如果 ClientID 在多次 TCP连接中保持一致,客户端和服务器端会保留会话信息(Session)void setUsername(const QString& username);设置用户名void setPassword(const QString& password);设置密码,用于连接服务器void setKeepAlive(const int keepAlive);设置心跳,客户端在Connect的时候设置 Keep Alive 时长。如果服务端在 1.5 * KeepAlive 时间内没有收到客户端的报文,它必须断开客户端的网络连接void setCleanSession(const bool cleansess);是否清空sessionvoid setAutoReconnect(const bool value);设置是否自动重连void setAutoReconnectInterval(const int autoReconnectInterval);void setWillTopic(const QString& willTopic);设置遗嘱,跟消息差不多void setWillQos(const quint8 willQos);void setWillRetain(const bool willRetain);void setWillMessage(const QString& willMessage);void connectToHost();void disconnectFromHost();quint16 subscribe(const QString& topic, const quint8 qos);订阅消息void unsubscribe(const QString& topic);quint16 publish(const Message& message);发布消息
信号
void connected();连接void disconnected();未连接void error(const QMQTT::ClientError error);错误void subscribed(const QString& topic, const quint8 qos);已订阅void unsubscribed(const QString& topic);没订阅成功void published(const quint16 msgid, const quint8 qos);已发布void pingresp();void received(const QMQTT::Message& message);已接收
阅读全文
1 0
- MQTT客户端QT的配置
- qt for mqtt 客户端
- mqtt 推送的客户端测试方法
- 【Python】基于MQTT的聊天客户端
- 【ESP8266】ESP8266的MQTT客户端搭建教程
- 自己做一个Android的MQTT客户端
- Eclipse paho实现的MQTT Java客户端
- 基于CC3200的MQTT客户端网关设计
- MQTT的学习研究(四)moquette-mqtt 的使用之mqtt Blocking API客户端订阅并接收主题信息
- MQTT的学习研究(4)moquette-mqtt 的使用之mqtt Blocking API客户端订阅并接收主题信息
- MQTT的学习研究(六) MQTT moquette 的 Blocking API 订阅消息客户端使用
- MQTT的学习研究(六) MQTT moquette 的 Blocking API 订阅消息客户端使用
- mqtt java客户端代码
- mqtt 协议客户端代码
- MQTT客户端推送实现
- MQTT协议 C#客户端
- MQTT协议 Python客户端
- java MQTT 客户端问题
- 201710030230->Timer时间类
- Cpp知识点汇总
- <C++>13.构造函数和析构函数的调用顺序
- xdoj 1019 自然数的秘密
- 洛谷P1144 最短路计数(BFS)
- MQTT客户端QT的配置
- 九度OJ剑指Offer题目1515:打印1到最大的N位数
- Git 提交时报错 error: failed to push some refs to 'https://github.com/yibin94/shop.git'
- MAVEN项目标准目录结构
- CV实习一周小记
- 201710030245->TimerMgr中对所有Timer进行管理
- ROS01-基础知识-安装
- ROS02-基础知识-原理
- PGP wrong in archlinux