Sur cette page

QMqtt Namespace

Contient divers identifiants utilisés dans le module Qt MQTT. Plus...

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

Types

enum class MessageStatus { Unknown, Published, Acknowledged, Received, Released, Completed }
enum class PayloadFormatIndicator { Unspecified, UTF8Encoded }
enum class ReasonCode { Success, SubscriptionQoSLevel0, SubscriptionQoSLevel1, SubscriptionQoSLevel2, NoMatchingSubscriber, …, WildCardSubscriptionsNotSupported }

Description détaillée

Documentation des types

enum class QMqtt::MessageStatus

Ce type d'énumération spécifie les états disponibles d'un message. En fonction de la qualité de service et du rôle du client, différents états de message sont attendus.

ConstanteValeurDescription de l'état
QMqtt::MessageStatus::Unknown0L'état du message est inconnu.
QMqtt::MessageStatus::Published1Le client a reçu un message pour l'un de ses abonnements. Ceci s'applique aux niveaux de qualité de service 1 et 2.
QMqtt::MessageStatus::Acknowledged2Un message a fait l'objet d'un accusé de réception. Ceci s'applique au niveau de qualité de service 1 et indique que le traitement du message est terminé du côté du client.
QMqtt::MessageStatus::Received3Un message a été reçu. Ceci s'applique au niveau de qualité de service 2.
QMqtt::MessageStatus::Released4Un message a été libéré. Ceci s'applique à la qualité de service 2. Pour un éditeur, le traitement du message est terminé.
QMqtt::MessageStatus::Completed5Un message a été achevé. Ceci s'applique à la qualité de service 2 et indique que le traitement des messages est terminé du côté du client.

enum class QMqtt::PayloadFormatIndicator

Le format de la charge utile fournit des informations sur le contenu d'un message. Cela peut aider d'autres clients à traiter le message plus rapidement.

ConstanteValeurDescription du format
QMqtt::PayloadFormatIndicator::Unspecified0Le format n'est pas spécifié.
QMqtt::PayloadFormatIndicator::UTF8Encoded1La charge utile du message est formatée en tant que données de caractères codées en UTF-8.

enum class QMqtt::ReasonCode

Ce type d'énumération spécifie les codes d'erreur disponibles.

ConstanteValeurDescription de l'action
QMqtt::ReasonCode::Success0L'action spécifiée a réussi.
QMqtt::ReasonCode::SubscriptionQoSLevel00Un abonnement de niveau de qualité de service 0 a été créé.
QMqtt::ReasonCode::SubscriptionQoSLevel10x01Un abonnement de niveau de qualité de service 1 a été créé.
QMqtt::ReasonCode::SubscriptionQoSLevel20x02Un abonnement de niveau de qualité de service 2 a été créé.
QMqtt::ReasonCode::NoMatchingSubscriber0x10Le message a été accepté par le serveur, mais aucun abonné ne peut recevoir ce message. Un courtier peut envoyer ce code de raison au lieu de Success.
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15)0x11Le client n'utilise pas de filtre thématique correspondant.
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15)0x18Poursuivre l'authentification avec une autre étape.
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15)0x19Initier une ré-authentification.
QMqtt::ReasonCode::UnspecifiedError0x80Une erreur non spécifiée s'est produite.
QMqtt::ReasonCode::MalformedPacket0x81Le paquet envoyé au serveur n'est pas valide.
QMqtt::ReasonCode::ProtocolError0x82Une erreur de protocole s'est produite. Dans la plupart des cas, le serveur déconnecte le client.
QMqtt::ReasonCode::ImplementationSpecificError0x83Le paquet est valide, mais le destinataire le rejette.
QMqtt::ReasonCode::UnsupportedProtocolVersion0x84La version du protocole demandée n'est pas prise en charge par le serveur.
QMqtt::ReasonCode::InvalidClientId0x85L'identifiant du client n'est pas valide.
QMqtt::ReasonCode::InvalidUserNameOrPassword0x86Le nom d'utilisateur ou le mot de passe spécifié n'est pas valide.
QMqtt::ReasonCode::NotAuthorized0x87Le client n'est pas autorisé à effectuer l'action spécifiée.
QMqtt::ReasonCode::ServerNotAvailable0x88Le serveur auquel se connecter n'est pas disponible.
QMqtt::ReasonCode::ServerBusy0x89Le serveur auquel se connecter n'est pas disponible. Le client est invité à réessayer ultérieurement.
QMqtt::ReasonCode::ClientBanned0x8ALe client a été banni du serveur.
QMqtt::ReasonCode::InvalidAuthenticationMethod0x8CLa méthode d'authentification spécifiée n'est pas valide.
QMqtt::ReasonCode::InvalidTopicFilter0x8FLe filtre de sujet spécifié n'est pas valide.
QMqtt::ReasonCode::InvalidTopicName0x90Le nom du sujet spécifié n'est pas valide.
QMqtt::ReasonCode::MessageIdInUse0x91L'ID du message utilisé dans le paquet précédent est déjà utilisé.
QMqtt::ReasonCode::MessageIdNotFound0x92L'ID du message utilisé dans le paquet précédent n'a pas été trouvé.
QMqtt::ReasonCode::PacketTooLarge0x95Le paquet reçu est trop volumineux. Voir aussi QMqttServerConnectionProperties::maximumPacketSize().
QMqtt::ReasonCode::QuotaExceeded0x97Une limite imposée par l'administration a été dépassée.
QMqtt::ReasonCode::InvalidPayloadFormat0x99Le format de la charge utile n'est pas valide. Voir aussi QMqttPublishProperties::payloadFormatIndicator().
QMqtt::ReasonCode::RetainNotSupported0x9ALe serveur ne prend pas en charge les messages conservés. Voir aussi QMqttServerConnectionProperties::retainAvailable().
QMqtt::ReasonCode::QoSNotSupported0x9BLe niveau de qualité de service demandé n'est pas pris en charge. Voir aussi QMqttServerConnectionProperties::maximumQoS().
QMqtt::ReasonCode::UseAnotherServer0x9CLe serveur auquel le client tente de se connecter n'est pas disponible. Voir aussi QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::ServerMoved0x9DLe serveur auquel le client tente de se connecter a changé d'adresse. Voir aussi QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::SharedSubscriptionsNotSupported0x9ELes abonnements partagés ne sont pas pris en charge. Voir aussi QMqttServerConnectionProperties::sharedSubscriptionSupported().
QMqtt::ReasonCode::ExceededConnectionRate0x9FLa limite du taux de connexion a été dépassée.
QMqtt::ReasonCode::SubscriptionIdsNotSupported0xA1Les identifiants d'abonnement ne sont pas pris en charge. Voir aussi QMqttServerConnectionProperties::subscriptionIdentifierSupported().
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported0xA2Les abonnements utilisant des caractères génériques ne sont pas pris en charge par le serveur. Voir aussi QMqttServerConnectionProperties::wildcardSupported().

Toutes les valeurs ne sont pas disponibles dans tous les cas d'utilisation. En particulier, certains serveurs rejetteront un code de raison qui n'est pas adapté à une commande spécifique. Le tableau ci-dessous met en évidence les codes de raison attendus pour des actions spécifiques.

Code de raisonPropriétés de la connexionPropriétés de l'abonnementPropriétés du message
RéussiteXXX
AbonnementQoSLevel0X
AbonnementQoSLevel1X
AbonnementQoSLevel2X
NoMatchingSubscriberX
Erreur non spécifiéeXXX
Paquet malforméX
Erreur de protocoleX
Erreur spécifique à la mise en œuvreXXX
Version du protocole non prise en chargeX
InvalidClientIdX
Nom d'utilisateur ou mot de passe non valideX
NotAuthorizedXXX
Serveur non disponibleX
Serveur occupéX
ClientBannedX
Méthode d'authentification non valideX
InvalidTopicFilterX
InvalidTopicNameXX
MessageIdInUseXX
MessageIdNotFoundX
PacketTooLargeX
QuotaExceededXXX
InvalidPayloadFormatXX
RetainNotSupportedX
QoSNotSupportedX
Utiliser un autre serveurX
Serveur déplacéX
Abonnements partagés non pris en chargeX
Taux de connexion dépasséX
SubscriptionIdsNotSupportedX
WildCardSubscriptionsNotSupported (Abonnements WildCard non pris en charge)X

© 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.