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.
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QMqttClient::NoError | 0 | Aucune erreur n'est survenue. |
QMqttClient::InvalidProtocolVersion | 1 | Le broker n'accepte pas de connexion utilisant la version de protocole spécifiée. |
QMqttClient::IdRejected | 2 | L'identifiant du client est mal formé. Cela peut être lié à sa longueur. |
QMqttClient::ServerUnavailable | 3 | La connexion réseau a été établie, mais le service n'est pas disponible du côté du courtier. |
QMqttClient::BadUsernameOrPassword | 4 | Les données du nom d'utilisateur ou du mot de passe sont malformées. |
QMqttClient::NotAuthorized | 5 | Le client n'est pas autorisé à se connecter. |
QMqttClient::TransportInvalid | 256 | Le transport sous-jacent a provoqué une erreur. Par exemple, la connexion peut avoir été interrompue de manière inattendue. |
QMqttClient::ProtocolViolation | 257 | Le client a rencontré une violation du protocole et a donc fermé la connexion. |
QMqttClient::UnknownError | 258 | Une erreur inconnue s'est produite. |
QMqttClient::Mqtt5SpecificError | 259 | L'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.
| Constante | Valeur | Description de l'état |
|---|---|---|
QMqttClient::Disconnected | 0 | Le client est déconnecté du courtier. |
QMqttClient::Connecting | 1 | Une demande de connexion a été faite, mais le courtier n'a pas encore approuvé la connexion. |
QMqttClient::Connected | 2 | Le 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.
| Constante | Valeur | Description du protocole |
|---|---|---|
QMqttClient::MQTT_3_1 | 3 | MQTT Standard 3.1 |
QMqttClient::MQTT_3_1_1 | 4 | Standard MQTT 3.1.1, publiquement appelé version 4 |
QMqttClient::MQTT_5_0 | 5 | Norme 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.
| Constante | Valeur | Description de la méthode |
|---|---|---|
QMqttClient::IODevice | 0 | Le transport utilise une classe basée sur QIODevice. |
QMqttClient::AbstractSocket | 1 | Le transport utilise une classe basée sur QAbstractSocket. |
QMqttClient::SecureSocket | 2 | Le transport utilise une classe basée sur QSslSocket. |
QMqttClient::WebSocket (since Qt 6.10) | 3 | Le transport utilise une classe basée sur QIODevice, qui utilise QWebSocket en interne. |
QMqttClient::SecureWebSocket (since Qt 6.10) | 4 | Le 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.