当前位置: 首页 > 工具软件 > qmqtt-client > 使用案例 >

QMQTT简单介绍(2)

谭裕
2023-12-01

QMQTT

mqtt client for Qt

Please compile the library with Qt >= 5.3 version. On Windows you need to specify CONFIG += NO_UNIT_TESTS, since gtest is not supported.

To add websocket support, compile the library with Qt >= 5.7, and specify 'CONFIG += QMQTT_WEBSOCKETS'.

Usage

In your QMake project, add:

QT += qmqtt

Connect using TCP:

#include "qmqtt.h"

QMQTT::Client *client = new QMQTT::Client(QHostAddress::LocalHost, 1883);
client->setClientId("clientId"); client->setUsername("user"); client->setPassword("password"); client->connectToHost(); 

Connect using SSL:

QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration();
// Add custom SSL options here (for example extra certificates)
QMQTT::Client *client = new QMQTT::Client("example.com", 8883, sslConfig);
client->setClientId("clientId"); client->setUsername("user"); client->setPassword("password"); client->connectToHost(); 

Connect using WebSockets:

QMQTT::Client *client = new QMQTT::Client("ws://www.example.com/mqtt", "<origin>", QWebSocketProtocol::VersionLatest);
client->setClientId("clientId");
client->setUsername("user"); client->setPassword("password"); client->connectToHost(); 

Slots

void setHost(const QHostAddress& host); void setPort(const quint16 port); void setClientId(const QString& clientId); void setUsername(const QString& username); void setPassword(const QString& password); void setKeepAlive(const int keepAlive); void setCleanSession(const bool cleansess); void 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); 

Signals

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);

转载于:https://www.cnblogs.com/studysoftware/p/10330958.html

 类似资料: