Sur cette page

QMqtt Namespace

Contient divers identifiants utilisés dans l'ensemble du module « Qt MQTT ». En savoir plus...

En-tête : #include <qmqttglobal.h>
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 sur les 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 (QoS) et du rôle du client, différents états de message sont attendus.

ConstanteValeurDescription
QMqtt::MessageStatus::Unknown0L'état du message est inconnu.
QMqtt::MessageStatus::Published1Le client a reçu un message pour l'un de ses abonnements. Cela s'applique aux niveaux de qualité de service (QoS) 1 et 2.
QMqtt::MessageStatus::Acknowledged2Un message a été acquitté. Cela 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. Cela s'applique au niveau de qualité de service (QoS) 2.
QMqtt::MessageStatus::Released4Un message a été libéré. Cela s'applique au niveau de qualité de service (QoS) 2. Pour un éditeur, le traitement du message est terminé.
QMqtt::MessageStatus::Completed5Un message a été finalisé. Cela s'applique au niveau de qualité de service (QoS) 2 et indique que le traitement du message 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 les autres clients à traiter le message plus rapidement.

ConstanteValeurDescription
QMqtt::PayloadFormatIndicator::Unspecified0Le format n’est pas spécifié.
QMqtt::PayloadFormatIndicator::UTF8Encoded1La charge utile du message est au format « Données de caractères encodées en UTF-8 ».

enum class QMqtt::ReasonCode

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

ConstanteValeurDescription
QMqtt::ReasonCode::Success0L'action spécifiée a abouti.
QMqtt::ReasonCode::SubscriptionQoSLevel00Un abonnement avec un niveau de qualité de service (QoS) 0 a été créé.
QMqtt::ReasonCode::SubscriptionQoSLevel10x01Un abonnement avec un niveau de qualité de service (QoS) 1 a été créé.
QMqtt::ReasonCode::SubscriptionQoSLevel20x02Un abonnement avec un niveau de qualité de service (QoS) 2 a été créé.
QMqtt::ReasonCode::NoMatchingSubscriber0x10Le message a été accepté par le serveur, mais aucun abonné n'est disponible pour le recevoir. Un courtier peut renvoyer ce code de raison à la place du code « Success ».
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15)0x11Aucun filtre de sujet correspondant n’est utilisé par le client.
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15)0x18Poursuivez l’authentification avec une autre étape.
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15)0x19Lancez une nouvelle 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, cela entraîne la déconnexion du client par le serveur.
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 indiqué 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 plus tard.
QMqtt::ReasonCode::ClientBanned0x8ALe client a été banni du serveur.
QMqtt::ReasonCode::InvalidAuthenticationMethod0x8CLa méthode d'authentification indiquée n'est pas valide.
QMqtt::ReasonCode::InvalidTopicFilter0x8FLe filtre de sujet spécifié n'est pas valide.
QMqtt::ReasonCode::InvalidTopicName0x90Le nom de sujet spécifié n'est pas valide.
QMqtt::ReasonCode::MessageIdInUse0x91L'ID de message utilisé dans le paquet précédent est déjà utilisé.
QMqtt::ReasonCode::MessageIdNotFound0x92L'ID de message utilisé dans le paquet précédent est introuvable.
QMqtt::ReasonCode::PacketTooLarge0x95Le paquet reçu est trop volumineux. Voir également QMqttServerConnectionProperties::maximumPacketSize().
QMqtt::ReasonCode::QuotaExceeded0x97Une limite imposée par l'administrateur a été dépassée.
QMqtt::ReasonCode::InvalidPayloadFormat0x99Le format de la charge utile n'est pas valide. Voir également QMqttPublishProperties::payloadFormatIndicator().
QMqtt::ReasonCode::RetainNotSupported0x9ALe serveur ne prend pas en charge les messages conservés. Voir également QMqttServerConnectionProperties::retainAvailable().
QMqtt::ReasonCode::QoSNotSupported0x9BLe niveau de qualité de service (QoS) demandé n’est pas pris en charge. Voir également QMqttServerConnectionProperties::maximumQoS().
QMqtt::ReasonCode::UseAnotherServer0x9CLe serveur auquel le client tente de se connecter n'est pas disponible. Voir également QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::ServerMoved0x9DLe serveur auquel le client tente de se connecter a changé d'adresse. Voir également QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::SharedSubscriptionsNotSupported0x9ELes abonnements partagés ne sont pas pris en charge. Voir également QMqttServerConnectionProperties::sharedSubscriptionSupported().
QMqtt::ReasonCode::ExceededConnectionRate0x9FLa limite de débit de connexion a été dépassée.
QMqtt::ReasonCode::SubscriptionIdsNotSupported0xA1Les identifiants d’abonnement ne sont pas pris en charge. Voir également QMqttServerConnectionProperties::subscriptionIdentifierSupported().
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported0xA2Les abonnements utilisant des caractères génériques ne sont pas pris en charge par le serveur. Voir également QMqttServerConnectionProperties::wildcardSupported().

Toutes les valeurs ne sont pas disponibles dans tous les cas d'utilisation. En particulier, certains serveurs rejetteront un code de raison inadapté à une commande spécifique. Consultez le tableau ci-dessous pour connaître les codes de raison attendus pour des actions spécifiques.

Code de motifPropriétés de connexionPropriétés de l'abonnementPropriétés du message
SuccèsXXX
SubscriptionQoSLevel0X
Niveau de qualité de service de l'abonnement 1X
Niveau de qualité de service de l'abonnement 2X
Aucun abonné correspondantX
Erreur non spécifiéeXXX
Paquet mal forméX
Erreur de protocoleX
Erreur spécifique à l'implémentationXXX
Version de protocole non prise en chargeX
Identifiant client non valideX
Nom d'utilisateur ou mot de passe non valideX
Non autoriséXXX
Serveur indisponibleX
Serveur occupéX
ClientBannéX
Méthode d'authentification non valideX
Filtre de sujet invalideX
Nom de sujet non valideXX
Identifiant de message déjà utiliséXX
MessageIdNotFoundX
Paquet trop volumineuxX
Quota dépasséXXX
Format de charge utile non valideXX
Conservation non prise en chargeX
QoS non prise en chargeX
Utiliser un autre serveurX
ServeurDéplacéX
Abonnements partagés non pris en chargeX
Taux de connexion dépasséX
Identifiants d'abonnement non pris en chargeX
Abonnements avec caractères génériques non pris en chargeX

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