QMqtt Namespace

Enthält verschiedene Bezeichner, die im Modul Qt MQTT verwendet werden. Mehr...

Kopfzeile: #include <QMqtt>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt

Typen

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

Detaillierte Beschreibung

Typ-Dokumentation

enum class QMqtt::MessageStatus

Dieser Enum-Typ gibt die verfügbaren Zustände einer Nachricht an. Je nach QoS und Rolle des Clients werden unterschiedliche Nachrichtenzustände erwartet.

KonstanteWertBeschreibung
QMqtt::MessageStatus::Unknown0Der Nachrichtenstatus ist unbekannt.
QMqtt::MessageStatus::Published1Der Client hat eine Nachricht für eines seiner Abonnements erhalten. Dies gilt für die QoS-Stufen 1 und 2.
QMqtt::MessageStatus::Acknowledged2Eine Nachricht wurde quittiert. Dies gilt für QoS 1 und besagt, dass die Bearbeitung der Nachricht auf der Client-Seite abgeschlossen ist.
QMqtt::MessageStatus::Received3Eine Nachricht wurde empfangen. Dies gilt für QoS 2.
QMqtt::MessageStatus::Released4Eine Nachricht wurde freigegeben. Dies gilt für QoS 2. Für einen Publisher ist die Bearbeitung der Nachricht abgeschlossen.
QMqtt::MessageStatus::Completed5Eine Nachricht wurde abgeschlossen. Dies gilt für QoS 2 und besagt, dass die Bearbeitung der Nachricht auf der Client-Seite abgeschlossen ist.

enum class QMqtt::PayloadFormatIndicator

Das Nutzdatenformat liefert Informationen über den Inhalt einer Nachricht. Dies kann anderen Clients helfen, die Nachricht schneller zu verarbeiten.

KonstanteWertBeschreibung
QMqtt::PayloadFormatIndicator::Unspecified0Das Format ist nicht angegeben.
QMqtt::PayloadFormatIndicator::UTF8Encoded1Die Nutzdaten der Nachricht sind als UTF-8 kodierte Zeichendaten formatiert.

enum class QMqtt::ReasonCode

Dieser Enum-Typ gibt die verfügbaren Fehlercodes an.

KonstanteWertBeschreibung
QMqtt::ReasonCode::Success0Die angegebene Aktion war erfolgreich.
QMqtt::ReasonCode::SubscriptionQoSLevel00Es wurde ein Abonnement mit QoS-Level 0 erstellt.
QMqtt::ReasonCode::SubscriptionQoSLevel10x01Ein Abonnement mit der QoS-Stufe 1 wurde erstellt.
QMqtt::ReasonCode::SubscriptionQoSLevel20x02Es wurde ein Abonnement mit QoS-Stufe 2 erstellt.
QMqtt::ReasonCode::NoMatchingSubscriber0x10Die Nachricht wurde vom Server angenommen, aber es gibt keine Abonnenten, die diese Nachricht empfangen können. Ein Broker kann diesen Grundcode anstelle von Success senden.
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15)0x11Es wird kein passender Themenfilter vom Client verwendet.
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15)0x18Setzen Sie die Authentifizierung mit einem weiteren Schritt fort.
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15)0x19Initiieren Sie eine erneute Authentifizierung.
QMqtt::ReasonCode::UnspecifiedError0x80Ein nicht spezifizierter Fehler ist aufgetreten.
QMqtt::ReasonCode::MalformedPacket0x81Das an den Server gesendete Paket ist ungültig.
QMqtt::ReasonCode::ProtocolError0x82Es ist ein Protokollfehler aufgetreten. In den meisten Fällen führt dies dazu, dass der Server die Verbindung mit dem Client trennt.
QMqtt::ReasonCode::ImplementationSpecificError0x83Das Paket ist gültig, aber der Empfänger lehnt es ab.
QMqtt::ReasonCode::UnsupportedProtocolVersion0x84Die angeforderte Protokollversion wird vom Server nicht unterstützt.
QMqtt::ReasonCode::InvalidClientId0x85Die Client-ID ist ungültig.
QMqtt::ReasonCode::InvalidUserNameOrPassword0x86Der angegebene Benutzername oder das Passwort sind ungültig.
QMqtt::ReasonCode::NotAuthorized0x87Der Client ist für die angegebene Aktion nicht autorisiert.
QMqtt::ReasonCode::ServerNotAvailable0x88Der Server, zu dem eine Verbindung aufgebaut werden soll, ist nicht verfügbar.
QMqtt::ReasonCode::ServerBusy0x89Der Server, zu dem eine Verbindung hergestellt werden soll, ist nicht verfügbar. Der Client wird gebeten, es zu einem späteren Zeitpunkt zu versuchen.
QMqtt::ReasonCode::ClientBanned0x8ADer Client wurde vom Server verbannt.
QMqtt::ReasonCode::InvalidAuthenticationMethod0x8CDie angegebene Authentifizierungsmethode ist ungültig.
QMqtt::ReasonCode::InvalidTopicFilter0x8FDer angegebene Themenfilter ist ungültig.
QMqtt::ReasonCode::InvalidTopicName0x90Der angegebene Topic-Name ist ungültig.
QMqtt::ReasonCode::MessageIdInUse0x91Die im vorherigen Paket verwendete Nachrichten-ID ist bereits in Gebrauch.
QMqtt::ReasonCode::MessageIdNotFound0x92Die Nachrichten-ID, die im vorherigen Paket verwendet wurde, wurde nicht gefunden.
QMqtt::ReasonCode::PacketTooLarge0x95Das empfangene Paket ist zu groß. Siehe auch QMqttServerConnectionProperties::maximumPacketSize().
QMqtt::ReasonCode::QuotaExceeded0x97Eine administrativ festgelegte Grenze wurde überschritten.
QMqtt::ReasonCode::InvalidPayloadFormat0x99Das Nutzdatenformat ist ungültig. Siehe auch QMqttPublishProperties::payloadFormatIndicator().
QMqtt::ReasonCode::RetainNotSupported0x9ADer Server unterstützt keine Retained Messages. Siehe auch QMqttServerConnectionProperties::retainAvailable().
QMqtt::ReasonCode::QoSNotSupported0x9BDie angeforderte QoS-Stufe wird nicht unterstützt. Siehe auch QMqttServerConnectionProperties::maximumQoS().
QMqtt::ReasonCode::UseAnotherServer0x9CDer Server, mit dem sich der Client zu verbinden versucht, ist nicht verfügbar. Siehe auch QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::ServerMoved0x9DDer Server, zu dem der Client eine Verbindung herstellen möchte, ist zu einer neuen Adresse umgezogen. Siehe auch QMqttServerConnectionProperties::serverReference().
QMqtt::ReasonCode::SharedSubscriptionsNotSupported0x9EGemeinsame Abonnements werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::sharedSubscriptionSupported().
QMqtt::ReasonCode::ExceededConnectionRate0x9FDas Limit der Verbindungsrate wurde überschritten.
QMqtt::ReasonCode::SubscriptionIdsNotSupported0xA1Abonnement-IDs werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::subscriptionIdentifierSupported().
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported0xA2Abonnements mit Wildcards werden vom Server nicht unterstützt. Siehe auch QMqttServerConnectionProperties::wildcardSupported().

Nicht alle Werte sind in jedem Anwendungsfall verfügbar. Insbesondere lehnen einige Server einen Grundcode ab, der nicht für einen bestimmten Befehl geeignet ist. In der folgenden Tabelle sind die erwarteten Begründungscodes für bestimmte Aktionen aufgeführt.

Grund CodeEigenschaften der VerbindungEigenschaften des AbonnementsEigenschaften der Nachricht
ErfolgXXX
AbonnementQoSLevel0X
AbonnementQoSLevel1X
AbonnementQoSLevel2X
NoMatchingSubscriberX
Nicht spezifizierterFehlerXXX
MissgebildetesPaketX
ProtokollFehlerX
ImplementationSpecificErrorXXX
UnsupportedProtocolVersionX
UngültigeClientIdX
UngültigerBenutzernameoderPasswortX
NichtAutorisiertXXX
ServerNotAvailableX
ServerBusyX
ClientGesperrtX
UngültigeAuthentifizierungsMethodeX
UngültigerTopicFilterX
UngültigerTopicNameXX
MessageIdInUseXX
MessageIdNotFoundX
PacketTooLargeX
QuotaExceededXXX
InvalidPayloadFormatXX
RetainNotSupportedX
QoSNotSupportedX
UseAnotherServerX
ServerMovedX
SharedSubscriptionsNotSupportedX
ExceededConnectionRateX
SubscriptionIdsNotSupportedX
WildCardSubscriptionsNotSupportedX

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