zoukankan      html  css  js  c++  java
  • QMQTT简单介绍(2)

    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);
  • 相关阅读:
    显示游标的属性
    显示游标的处理
    5:查询两表中的所有字段,满足性别为‘男’的记录(使用语句块)
    JS 进阶1
    JS 小练习
    驼峰法
    JS 入门四
    JS 入门三
    javascript中window.open()与window.location.href的区别(转)
    JavaScript 之日起对象(转)
  • 原文地址:https://www.cnblogs.com/studysoftware/p/10330958.html
Copyright © 2011-2022 走看看