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 } |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QMqtt::MessageStatus::Unknown | 0 | Der Nachrichtenstatus ist unbekannt. |
QMqtt::MessageStatus::Published | 1 | Der Client hat eine Nachricht für eines seiner Abonnements erhalten. Dies gilt für die QoS-Stufen 1 und 2. |
QMqtt::MessageStatus::Acknowledged | 2 | Eine Nachricht wurde quittiert. Dies gilt für QoS 1 und besagt, dass die Bearbeitung der Nachricht auf der Client-Seite abgeschlossen ist. |
QMqtt::MessageStatus::Received | 3 | Eine Nachricht wurde empfangen. Dies gilt für QoS 2. |
QMqtt::MessageStatus::Released | 4 | Eine Nachricht wurde freigegeben. Dies gilt für QoS 2. Für einen Publisher ist die Bearbeitung der Nachricht abgeschlossen. |
QMqtt::MessageStatus::Completed | 5 | Eine 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.
Konstante | Wert | Beschreibung |
---|---|---|
QMqtt::PayloadFormatIndicator::Unspecified | 0 | Das Format ist nicht angegeben. |
QMqtt::PayloadFormatIndicator::UTF8Encoded | 1 | Die Nutzdaten der Nachricht sind als UTF-8 kodierte Zeichendaten formatiert. |
enum class QMqtt::ReasonCode
Dieser Enum-Typ gibt die verfügbaren Fehlercodes an.
Konstante | Wert | Beschreibung |
---|---|---|
QMqtt::ReasonCode::Success | 0 | Die angegebene Aktion war erfolgreich. |
QMqtt::ReasonCode::SubscriptionQoSLevel0 | 0 | Es wurde ein Abonnement mit QoS-Level 0 erstellt. |
QMqtt::ReasonCode::SubscriptionQoSLevel1 | 0x01 | Ein Abonnement mit der QoS-Stufe 1 wurde erstellt. |
QMqtt::ReasonCode::SubscriptionQoSLevel2 | 0x02 | Es wurde ein Abonnement mit QoS-Stufe 2 erstellt. |
QMqtt::ReasonCode::NoMatchingSubscriber | 0x10 | Die 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) | 0x11 | Es wird kein passender Themenfilter vom Client verwendet. |
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15) | 0x18 | Setzen Sie die Authentifizierung mit einem weiteren Schritt fort. |
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15) | 0x19 | Initiieren Sie eine erneute Authentifizierung. |
QMqtt::ReasonCode::UnspecifiedError | 0x80 | Ein nicht spezifizierter Fehler ist aufgetreten. |
QMqtt::ReasonCode::MalformedPacket | 0x81 | Das an den Server gesendete Paket ist ungültig. |
QMqtt::ReasonCode::ProtocolError | 0x82 | Es ist ein Protokollfehler aufgetreten. In den meisten Fällen führt dies dazu, dass der Server die Verbindung mit dem Client trennt. |
QMqtt::ReasonCode::ImplementationSpecificError | 0x83 | Das Paket ist gültig, aber der Empfänger lehnt es ab. |
QMqtt::ReasonCode::UnsupportedProtocolVersion | 0x84 | Die angeforderte Protokollversion wird vom Server nicht unterstützt. |
QMqtt::ReasonCode::InvalidClientId | 0x85 | Die Client-ID ist ungültig. |
QMqtt::ReasonCode::InvalidUserNameOrPassword | 0x86 | Der angegebene Benutzername oder das Passwort sind ungültig. |
QMqtt::ReasonCode::NotAuthorized | 0x87 | Der Client ist für die angegebene Aktion nicht autorisiert. |
QMqtt::ReasonCode::ServerNotAvailable | 0x88 | Der Server, zu dem eine Verbindung aufgebaut werden soll, ist nicht verfügbar. |
QMqtt::ReasonCode::ServerBusy | 0x89 | Der 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::ClientBanned | 0x8A | Der Client wurde vom Server verbannt. |
QMqtt::ReasonCode::InvalidAuthenticationMethod | 0x8C | Die angegebene Authentifizierungsmethode ist ungültig. |
QMqtt::ReasonCode::InvalidTopicFilter | 0x8F | Der angegebene Themenfilter ist ungültig. |
QMqtt::ReasonCode::InvalidTopicName | 0x90 | Der angegebene Topic-Name ist ungültig. |
QMqtt::ReasonCode::MessageIdInUse | 0x91 | Die im vorherigen Paket verwendete Nachrichten-ID ist bereits in Gebrauch. |
QMqtt::ReasonCode::MessageIdNotFound | 0x92 | Die Nachrichten-ID, die im vorherigen Paket verwendet wurde, wurde nicht gefunden. |
QMqtt::ReasonCode::PacketTooLarge | 0x95 | Das empfangene Paket ist zu groß. Siehe auch QMqttServerConnectionProperties::maximumPacketSize(). |
QMqtt::ReasonCode::QuotaExceeded | 0x97 | Eine administrativ festgelegte Grenze wurde überschritten. |
QMqtt::ReasonCode::InvalidPayloadFormat | 0x99 | Das Nutzdatenformat ist ungültig. Siehe auch QMqttPublishProperties::payloadFormatIndicator(). |
QMqtt::ReasonCode::RetainNotSupported | 0x9A | Der Server unterstützt keine Retained Messages. Siehe auch QMqttServerConnectionProperties::retainAvailable(). |
QMqtt::ReasonCode::QoSNotSupported | 0x9B | Die angeforderte QoS-Stufe wird nicht unterstützt. Siehe auch QMqttServerConnectionProperties::maximumQoS(). |
QMqtt::ReasonCode::UseAnotherServer | 0x9C | Der Server, mit dem sich der Client zu verbinden versucht, ist nicht verfügbar. Siehe auch QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::ServerMoved | 0x9D | Der Server, zu dem der Client eine Verbindung herstellen möchte, ist zu einer neuen Adresse umgezogen. Siehe auch QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::SharedSubscriptionsNotSupported | 0x9E | Gemeinsame Abonnements werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::sharedSubscriptionSupported(). |
QMqtt::ReasonCode::ExceededConnectionRate | 0x9F | Das Limit der Verbindungsrate wurde überschritten. |
QMqtt::ReasonCode::SubscriptionIdsNotSupported | 0xA1 | Abonnement-IDs werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::subscriptionIdentifierSupported(). |
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported | 0xA2 | Abonnements 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 Code | Eigenschaften der Verbindung | Eigenschaften des Abonnements | Eigenschaften der Nachricht |
---|---|---|---|
Erfolg | X | X | X |
AbonnementQoSLevel0 | X | ||
AbonnementQoSLevel1 | X | ||
AbonnementQoSLevel2 | X | ||
NoMatchingSubscriber | X | ||
Nicht spezifizierterFehler | X | X | X |
MissgebildetesPaket | X | ||
ProtokollFehler | X | ||
ImplementationSpecificError | X | X | X |
UnsupportedProtocolVersion | X | ||
UngültigeClientId | X | ||
UngültigerBenutzernameoderPasswort | X | ||
NichtAutorisiert | X | X | X |
ServerNotAvailable | X | ||
ServerBusy | X | ||
ClientGesperrt | X | ||
UngültigeAuthentifizierungsMethode | X | ||
UngültigerTopicFilter | X | ||
UngültigerTopicName | X | X | |
MessageIdInUse | X | X | |
MessageIdNotFound | X | ||
PacketTooLarge | X | ||
QuotaExceeded | X | X | X |
InvalidPayloadFormat | X | X | |
RetainNotSupported | X | ||
QoSNotSupported | X | ||
UseAnotherServer | X | ||
ServerMoved | X | ||
SharedSubscriptionsNotSupported | X | ||
ExceededConnectionRate | X | ||
SubscriptionIdsNotSupported | X | ||
WildCardSubscriptionsNotSupported | X |
© 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.