Sur cette page

QMqttClient Class

La classe QMqttClient représente l'accès central communiquant avec un courtier MQTT. Plus d'informations...

En-tête : #include <QMqttClient>
CMake : find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake : QT += mqtt
Héritages : QObject

Types publics

enum ClientError { NoError, InvalidProtocolVersion, IdRejected, ServerUnavailable, BadUsernameOrPassword, …, Mqtt5SpecificError }
enum ClientState { Disconnected, Connecting, Connected }
enum ProtocolVersion { MQTT_3_1, MQTT_3_1_1, MQTT_5_0 }
enum TransportType { IODevice, AbstractSocket, SecureSocket, WebSocket, SecureWebSocket }

Propriétés

Fonctions publiques

QMqttClient(QObject *parent = nullptr)
virtual ~QMqttClient() override
void authenticate(const QMqttAuthenticationProperties &prop)
bool autoKeepAlive() const
bool cleanSession() const
QString clientId() const
void connectToHost()
void connectToHostEncrypted(const QSslConfiguration &conf)
(since 6.10) void connectToHostWebSocket(QWebSocket *webSocket = nullptr)
(since 6.10) void connectToHostWebSocketEncrypted(QWebSocket *webSocket = nullptr)
QMqttConnectionProperties connectionProperties() const
void disconnectFromHost()
QMqttClient::ClientError error() const
QString hostname() const
quint16 keepAlive() const
QMqttLastWillProperties lastWillProperties() const
QString password() const
quint16 port() const
QMqttClient::ProtocolVersion protocolVersion() const
qint32 publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
qint32 publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
bool requestPing()
QMqttServerConnectionProperties serverConnectionProperties() const
void setConnectionProperties(const QMqttConnectionProperties &prop)
void setLastWillProperties(const QMqttLastWillProperties &prop)
void setTransport(QIODevice *device, QMqttClient::TransportType transport)
QMqttClient::ClientState state() const
QMqttSubscription *subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)
QMqttSubscription *subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)
QIODevice *transport() const
void unsubscribe(const QMqttTopicFilter &topic)
void unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)
QString username() const
QByteArray willMessage() const
quint8 willQoS() const
bool willRetain() const
QString willTopic() const

Emplacements publics

void setAutoKeepAlive(bool autoKeepAlive)
void setCleanSession(bool cleanSession)
void setClientId(const QString &clientId)
void setError(QMqttClient::ClientError error)
void setHostname(const QString &hostname)
void setKeepAlive(quint16 keepAlive)
void setPassword(const QString &password)
void setPort(quint16 port)
void setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion)
void setState(QMqttClient::ClientState state)
void setUsername(const QString &username)
void setWillMessage(const QByteArray &willMessage)
void setWillQoS(quint8 willQoS)
void setWillRetain(bool willRetain)
void setWillTopic(const QString &willTopic)

Signaux

void authenticationFinished(const QMqttAuthenticationProperties &p)
void authenticationRequested(const QMqttAuthenticationProperties &p)
void autoKeepAliveChanged(bool autoKeepAlive)
void brokerSessionRestored()
void cleanSessionChanged(bool cleanSession)
void clientIdChanged(QString clientId)
void connected()
void disconnected()
void errorChanged(QMqttClient::ClientError error)
void hostnameChanged(QString hostname)
void keepAliveChanged(quint16 keepAlive)
void messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())
void messageSent(qint32 id)
void messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)
void passwordChanged(QString password)
void pingResponseReceived()
void portChanged(quint16 port)
void protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion)
void stateChanged(QMqttClient::ClientState state)
void usernameChanged(QString username)
void willMessageChanged(QByteArray willMessage)
void willQoSChanged(quint8 willQoS)
void willRetainChanged(bool willRetain)
void willTopicChanged(QString willTopic)

Description détaillée

Un client MQTT est un programme ou un appareil qui utilise MQTT pour créer une connexion réseau avec un serveur MQTT, également appelé courtier. La demande de connexion doit contenir un identifiant client unique. En option, elle peut contenir un Will Topic, un Will Message, un nom d'utilisateur et un mot de passe.

Une fois la connexion créée, un client peut envoyer des messages que d'autres clients pourraient être intéressés à recevoir, s'abonner pour demander des notifications sur des sujets, se désabonner pour supprimer une demande de notifications et se déconnecter du courtier.

Documentation sur les types de membres

enum QMqttClient::ClientError

Ce type d'énumération spécifie l'état d'erreur d'un client.

ConstanteValeurDescription de l'erreur
QMqttClient::NoError0Aucune erreur n'est survenue.
QMqttClient::InvalidProtocolVersion1Le broker n'accepte pas de connexion utilisant la version de protocole spécifiée.
QMqttClient::IdRejected2L'identifiant du client est mal formé. Cela peut être lié à sa longueur.
QMqttClient::ServerUnavailable3La connexion réseau a été établie, mais le service n'est pas disponible du côté du courtier.
QMqttClient::BadUsernameOrPassword4Les données du nom d'utilisateur ou du mot de passe sont malformées.
QMqttClient::NotAuthorized5Le client n'est pas autorisé à se connecter.
QMqttClient::TransportInvalid256Le transport sous-jacent a provoqué une erreur. Par exemple, la connexion peut avoir été interrompue de manière inattendue.
QMqttClient::ProtocolViolation257Le client a rencontré une violation du protocole et a donc fermé la connexion.
QMqttClient::UnknownError258Une erreur inconnue s'est produite.
QMqttClient::Mqtt5SpecificError259L'erreur est liée au niveau 5 du protocole MQTT. Un code de raison peut fournir plus de détails.

enum QMqttClient::ClientState

Ce type d'énumération spécifie les états dans lesquels un client peut entrer.

ConstanteValeurDescription de l'état
QMqttClient::Disconnected0Le client est déconnecté du courtier.
QMqttClient::Connecting1Une demande de connexion a été faite, mais le courtier n'a pas encore approuvé la connexion.
QMqttClient::Connected2Le client est connecté au courtier.

enum QMqttClient::ProtocolVersion

Cette énumération spécifie la version du protocole de la norme MQTT à utiliser lors de la communication avec un courtier.

ConstanteValeurDescription du protocole
QMqttClient::MQTT_3_13MQTT Standard 3.1
QMqttClient::MQTT_3_1_14Standard MQTT 3.1.1, publiquement appelé version 4
QMqttClient::MQTT_5_05Norme MQTT 5.0

enum QMqttClient::TransportType

Ce type d'énumération spécifie la méthode de connexion à utiliser pour établir une connexion avec un courtier.

ConstanteValeurDescription de la méthode
QMqttClient::IODevice0Le transport utilise une classe basée sur QIODevice.
QMqttClient::AbstractSocket1Le transport utilise une classe basée sur QAbstractSocket.
QMqttClient::SecureSocket2Le transport utilise une classe basée sur QSslSocket.
QMqttClient::WebSocket (since Qt 6.10)3Le transport utilise une classe basée sur QIODevice, qui utilise QWebSocket en interne.
QMqttClient::SecureWebSocket (since Qt 6.10)4Le transport utilise une classe basée sur QIODevice, qui utilise une QWebSocket sécurisée en interne.

Documentation sur les propriétés

autoKeepAlive : bool

Cette propriété indique si le client gérera automatiquement les messages de maintien en vie vers le serveur.

Si cette propriété vaut true, le client enverra automatiquement un message ping au serveur à l'intervalle keepAlive.

Dans le cas contraire, l'utilisateur devra invoquer manuellement requestPing dans l'intervalle spécifié pour la connexion. Si aucun message ping n'a été envoyé dans l'intervalle, le serveur se déconnecte.

La valeur par défaut de cette propriété est true.

Fonctions d'accès :

bool autoKeepAlive() const
void setAutoKeepAlive(bool autoKeepAlive)

Notifier signal :

void autoKeepAliveChanged(bool autoKeepAlive)

Voir aussi keepAlive(), requestPing(), serverConnectionProperties() et pingResponseReceived().

cleanSession : bool

Cette propriété contient l'état après la connexion à un courtier.

Fonctions d'accès :

bool cleanSession() const
void setCleanSession(bool cleanSession)

Signal du notificateur :

void cleanSessionChanged(bool cleanSession)

clientId : QString

Cette propriété contient la valeur de l'identifiant du client.

Chaque client doit avoir un identifiant unique pour pouvoir se connecter à un courtier MQTT. Si aucun identifiant n'est spécifié par l'utilisateur, un identifiant sera généré automatiquement lors de l'établissement de la connexion.

Fonctions d'accès :

QString clientId() const
void setClientId(const QString &clientId)

Signal de notification :

void clientIdChanged(QString clientId)

error : ClientError

Spécifie l'erreur actuelle du client.

Fonctions d'accès :

QMqttClient::ClientError error() const
void setError(QMqttClient::ClientError error)

Signal de notification :

void errorChanged(QMqttClient::ClientError error)

hostname : QString

Cette propriété contient le nom d'hôte du courtier MQTT auquel se connecter.

Si aucun transport n'est spécifié via setTransport(), le client instanciera lui-même une connexion de socket au nom d'hôte spécifié.

Fonctions d'accès :

QString hostname() const
void setHostname(const QString &hostname)

Signal Notificateur :

void hostnameChanged(QString hostname)

keepAlive : quint16

Cette propriété définit l'intervalle auquel des messages ping réguliers sont envoyés au courtier.

Une fois qu'une connexion avec un courtier est établie, le client doit envoyer des mises à jour fréquentes afin de propager le fait qu'il est toujours joignable. L'intervalle entre ces mises à jour est spécifié par cette propriété.

L'intervalle est spécifié en secondes.

Si le courtier ne répond pas dans un délai de grâce, la connexion est fermée.

Fonctions d'accès :

quint16 keepAlive() const
void setKeepAlive(quint16 keepAlive)

Signal Notificateur :

void keepAliveChanged(quint16 keepAlive)

Voir aussi autoKeepAlive(), requestPing() et pingResponseReceived().

password : QString

Cette propriété contient le mot de passe pour se connecter à un courtier.

Fonctions d'accès :

QString password() const
void setPassword(const QString &password)

Signal de notification :

void passwordChanged(QString password)

port : quint16

Cette propriété indique le port de connexion au courtier MQTT.

Si aucun transport n'est spécifié via setTransport(), le client instanciera une connexion socket vers un hôte avec ce numéro de port.

Fonctions d'accès :

quint16 port() const
void setPort(quint16 port)

Signal du notificateur :

void portChanged(quint16 port)

protocolVersion : ProtocolVersion

Cette propriété contient la version du standard MQTT à utiliser pour les connexions.

Spécifie la version du standard que le client utilise pour se connecter à un broker. Les valeurs valides sont

  • 3 : version 3.1 du standard MQTT.
  • 4 : Standard MQTT version 3.1.1, souvent appelé MQTT 4.
  • 5 : norme MQTT 5.0.

Fonctions d'accès :

QMqttClient::ProtocolVersion protocolVersion() const
void setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion)

Signal de notification :

void protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion)

state : ClientState

Cette propriété contient l'état actuel du client.

Fonctions d'accès :

QMqttClient::ClientState state() const
void setState(QMqttClient::ClientState state)

Signal du notificateur :

void stateChanged(QMqttClient::ClientState state)

username : QString

Cette propriété contient le nom d'utilisateur pour se connecter à un courtier.

Fonctions d'accès :

QString username() const
void setUsername(const QString &username)

Signal du notificateur :

void usernameChanged(QString username)

willMessage : QByteArray

Cette propriété contient la charge utile d'un message de volonté.

Fonctions d'accès :

QByteArray willMessage() const
void setWillMessage(const QByteArray &willMessage)

Signal du notificateur :

void willMessageChanged(QByteArray willMessage)

willQoS : quint8

Cette propriété indique le niveau de qualité de service pour l'envoi et le stockage du message Will.

Fonctions d'accès :

quint8 willQoS() const
void setWillQoS(quint8 willQoS)

Signal du notificateur :

void willQoSChanged(quint8 willQoS)

willRetain : bool

Cette propriété indique si le message testamentaire doit être conservé par le courtier pour que les futurs abonnés puissent le recevoir.

Fonctions d'accès :

bool willRetain() const
void setWillRetain(bool willRetain)

Signal du notificateur :

void willRetainChanged(bool willRetain)

willTopic : QString

Ce bien contient le thème du testament.

Fonctions d'accès :

QString willTopic() const
void setWillTopic(const QString &willTopic)

Signal de notification :

void willTopicChanged(QString willTopic)

Fonction membre Documentation

[explicit] QMqttClient::QMqttClient(QObject *parent = nullptr)

Crée une nouvelle instance de client MQTT avec l'adresse parent.

[override virtual noexcept] QMqttClient::~QMqttClient()

Supprime un client MQTT. Si le client MQTT n'était pas déjà déconnecté du courtier MQTT, il le sera automatiquement.

Note : Si un transport est spécifié avec setTransport, il doit être valide à ce stade.

void QMqttClient::authenticate(const QMqttAuthenticationProperties &prop)

Envoie une demande d'authentification au courtier. prop spécifie les informations requises pour répondre à la demande d'authentification.

Cette fonction ne doit être appelée qu'après l'émission d'un signal QMqttClient::authenticationRequested.

Note : L'authentification étendue fait partie du standard MQTT 5.0 et ne peut être utilisée que lorsque le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi authenticationRequested() et authenticationFinished().

[signal] void QMqttClient::authenticationFinished(const QMqttAuthenticationProperties &p)

Ce signal est émis après la fin de l'authentification étendue. p précise les détails disponibles sur le processus d'authentification.

Après une authentification réussie, QMqttClient::connected est émis.

Remarque : l'authentification étendue fait partie de la norme MQTT 5.0 et ne peut être utilisée que lorsque le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir également authenticationRequested() et authenticate().

[signal] void QMqttClient::authenticationRequested(const QMqttAuthenticationProperties &p)

Ce signal est émis après qu'un client a invoqué QMqttClient::connectToHost ou QMqttClient::connectToHostEncrypted et avant que la connexion ne soit établie. Dans le cadre de l'authentification étendue, un courtier peut demander des détails supplémentaires qui doivent être fournis en invoquant QMqttClient::authenticate. p spécifie les propriétés fournies par le courtier.

Remarque : l'authentification étendue fait partie de la norme MQTT 5.0 et ne peut être utilisée que lorsque le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi authenticationFinished() et authenticate().

[signal] void QMqttClient::brokerSessionRestored()

Ce signal est émis après qu'un client s'est connecté avec succès à un courtier avec la propriété cleanSession définie sur false, et que le courtier a restauré la session.

Les sessions peuvent être restaurées si un client s'est connecté précédemment en utilisant la même propriété clientId.

[invokable] void QMqttClient::connectToHost()

Établit une connexion avec le courtier MQTT.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

void QMqttClient::connectToHostEncrypted(const QSslConfiguration &conf)

Initie une connexion cryptée au courtier MQTT.

conf spécifie la configuration SSL à utiliser pour la connexion

[invokable, since 6.10] void QMqttClient::connectToHostWebSocket(QWebSocket *webSocket = nullptr)

Définit un type de transport de socket web et initie une connexion au courtier MQTT. Le type de transport précédent est remplacé. Si webSocket est donné, le nom d'hôte et le port sont ignorés, et la connexion se fait avec ce websocket. webSocket appartient au code appelant, et doit être valide pendant toute la durée de vie de l'objet QMqttClient.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

Cette fonction a été introduite dans Qt 6.10.

[invokable, since 6.10] void QMqttClient::connectToHostWebSocketEncrypted(QWebSocket *webSocket = nullptr)

Définit un type de transport websocket sécurisé et initie une connexion au courtier MQTT. Le type de transport précédent est remplacé. Si webSocket est donné, le nom d'hôte et le port sont ignorés, et la connexion se fait avec cette websocket. webSocket appartient au code appelant, et doit être valide pendant toute la durée de vie de l'objet QMqttClient.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

Cette fonction a été introduite dans Qt 6.10.

[signal] void QMqttClient::connected()

Ce signal est émis lorsqu'une connexion a été établie.

QMqttConnectionProperties QMqttClient::connectionProperties() const

Renvoie les propriétés de connexion que le client demande au courtier.

Note : QMqttConnectionProperties ne peut être utilisé que lorsque le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi setConnectionProperties().

[invokable] void QMqttClient::disconnectFromHost()

Se déconnecte du courtier MQTT.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[signal] void QMqttClient::disconnected()

Ce signal est émis lorsqu'une connexion a été fermée. Une connexion peut être fermée lorsque disconnectFromHost() est appelé ou lorsque le courtier se déconnecte.

QMqttLastWillProperties QMqttClient::lastWillProperties() const

Renvoie les propriétés du dernier testament.

Remarque : QMqttLastWillProperties ne peut être utilisé que si le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi setLastWillProperties().

[signal] void QMqttClient::messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())

Ce signal est émis lorsqu'un nouveau message a été reçu. La catégorie du message est spécifiée par topic et son contenu par message.

[signal] void QMqttClient::messageSent(qint32 id)

Indique qu'un message envoyé via la fonction publish() a été reçu par le courtier. L'adresse id est la même que celle renvoyée par publish() afin de faciliter le suivi de l'état du message.

[signal] void QMqttClient::messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)

Ce signal est émis lorsque l'état du message identifié par id change. s spécifie le nouvel état du message et properties spécifie les propriétés supplémentaires fournies par le serveur.

[signal] void QMqttClient::pingResponseReceived()

Ce signal est émis après que le courtier ait répondu à un appel requestPing() ou à un message ping keepAlive(), et que la connexion soit toujours valide.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

Publie un message sur le courtier avec le topic spécifié. qos spécifie le niveau de qualité de service requis pour le transfert du message.

Si retain est défini sur true, le message restera sur le courtier pour que d'autres clients puissent se connecter et recevoir le message.

Renvoie un identifiant utilisé en interne pour identifier le message.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

Publie un message sur le courtier avec les adresses properties et topic spécifiées. qos spécifie le niveau de qualité de service requis pour le transfert du message.

Si retain est défini sur true, le message restera sur le broker pour que d'autres clients puissent se connecter et recevoir le message.

Renvoie un identifiant utilisé en interne pour identifier le message.

Remarque : properties ne sera transmis au courtier que si le client spécifie MQTT_5_0 comme ProtocolVersion.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

bool QMqttClient::requestPing()

Envoie un message ping au courtier et attend une réponse.

Si la connexion est active et que autoKeepAlive est true, l'appel à cette fonction échouera car le client est responsable de la gestion de ce processus.

L'utilisation manuelle de requestPing() nécessite un appel à chaque fois dans l'intervalle keepAlive tant que la connexion est active.

Pour vérifier si le ping est réussi, connectez-vous au signal pingResponseReceived().

Retourne true si la requête ping a pu être envoyée.

Voir aussi pingResponseReceived(), autoKeepAlive() et keepAlive().

QMqttServerConnectionProperties QMqttClient::serverConnectionProperties() const

Renvoie l'adresse QMqttServerConnectionProperties que le courtier a renvoyée après une tentative de connexion.

Ceci peut être utilisé pour vérifier que les propriétés de connexion côté client définies par QMqttClient::setConnectionProperties ont été acceptées par le courtier. De plus, en cas d'échec d'une tentative de connexion, il peut être utilisé pour le diagnostic de la connexion.

Remarque : QMqttServerConnectionProperties ne peut être utilisé que si le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi connectionProperties().

void QMqttClient::setConnectionProperties(const QMqttConnectionProperties &prop)

Définit les propriétés de connexion à prop. QMqttConnectionProperties peut être utilisé pour demander au serveur d'utiliser un ensemble de fonctionnalités spécifique. Après une demande de connexion, la réponse du serveur peut être obtenue en appelant QMqttClient::serverConnectionProperties.

Remarque : les propriétés de connexion ne peuvent être définies que si le client MQTT est dans l'état Disconnected.

Remarque : QMqttConnectionProperties ne peut être utilisé que si le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi connectionProperties().

void QMqttClient::setLastWillProperties(const QMqttLastWillProperties &prop)

Définit les propriétés de la dernière volonté à prop. QMqttLastWillProperties permet de définir des caractéristiques supplémentaires pour le message de dernière volonté stocké dans le courtier.

Note : Les propriétés de connexion ne peuvent être définies que si le client MQTT est dans l'état Disconnected.

Remarque : QMqttLastWillProperties ne peut être utilisé que si le client spécifie MQTT_5_0 comme ProtocolVersion.

Voir aussi lastWillProperties().

void QMqttClient::setTransport(QIODevice *device, QMqttClient::TransportType transport)

Définit le transport à device. Un transport peut être un type de socket ou dérivé de QIODevice et est spécifié par transport.

Note : Le transport ne peut être échangé que si le client MQTT est dans l'état Disconnected.

Note : La définition d'un transport personnalisé pour un client ne transfère pas la responsabilité de la gestion ou de la propriété de la connexion. Le transport doit être ouvert pour les transports basés sur QIODevice ou connecté pour les transports de type socket avant d'appeler QMqttClient::connectToHost().

Voir aussi transport().

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)

Ajoute un nouvel abonnement pour recevoir des notifications sur topic. Le paramètre qos spécifie le niveau auquel les messages de sécurité sont reçus. Pour plus d'informations sur les niveaux de qualité de service disponibles, voir Qualité de service.

Cette fonction renvoie un pointeur vers QMqttSubscription. Si le même sujet est souscrit deux fois, la valeur de retour pointe vers la même instance d'abonnement. Le client MQTT est le propriétaire de l'abonnement.

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)

Ajoute un nouvel abonnement pour recevoir des notifications sur topic. Le paramètre properties spécifie les propriétés supplémentaires de l'abonnement qui doivent être validées par le courtier. Le paramètre qos spécifie le niveau de réception des messages de sécurité. Pour plus d'informations sur les niveaux de qualité de service disponibles, voir Qualité de service.

Cette fonction renvoie un pointeur vers un QMqttSubscription. Si le même sujet est souscrit deux fois, la valeur de retour pointe vers la même instance d'abonnement. Le client MQTT est le propriétaire de l'abonnement.

Remarque : properties ne sera transmis au courtier que si le client spécifie MQTT_5_0 comme ProtocolVersion.

QIODevice *QMqttClient::transport() const

Retourne le transport utilisé pour la communication avec le courtier.

Voir aussi setTransport().

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic)

Se désabonne de topic. Aucune notification ne sera envoyée aux abonnements effectués en appelant subscribe().

Note : Si un client se déconnecte d'un courtier sans se désabonner, le courtier stockera tous les messages et les publiera lors de la prochaine reconnexion.

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)

Se désabonne de topic. Aucune notification ne sera envoyée aux abonnements effectués en appelant subscribe(). properties spécifie les propriétés supplémentaires de l'utilisateur à transmettre au courtier.

Note : Si un client se déconnecte d'un courtier sans se désabonner, le courtier stockera tous les messages et les publiera lors de la prochaine reconnexion.

Remarque : properties ne sera transmis au courtier que si le client spécifie MQTT_5_0 comme ProtocolVersion.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.