在一次项目实践中,需要使用MQTT协议向服务器发送数据,经过了解之后MQTT协议底层是基于TCP协议的。
正好使用QT在开发项目,就在网上搜索了MQTT相关的开源三方库,因此就找到了基于QT的QMQTT的库。
QMQTT库的源码可以再github或者gitee上获取到,具体的用法如下:
1、初始化QMQTT
#include "qmqtt.h"
// 服务器IP 端口
QMQTT::Client *client = new QMQTT::Client(QHostAddress("192.168.3.33"), 1883);
client->setClientId("clientId");
client->setUsername("user");
client->setPassword("password");
client->connectToHost();
2、发送信息到服务器
const QString EXAMPLE_TOPIC = "qmqtt/exampletopic";
static uint number_ = 0;
QMQTT::Message message(number_ , EXAMPLE_TOPIC,
QString("Number is %1").arg(number_ ).toUtf8());
client->publish(message);