QMqtt Namespace
Enthält verschiedene Bezeichner, die im gesamten Modul „ Qt MQTT “ verwendet werden. Mehr...
| Header: | #include <qmqttglobal.h> |
| 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 } |
Typdokumentation
enum class QMqtt::MessageStatus
Dieser Enum-Typ legt die verfügbaren Zustände einer Nachricht fest. 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 bestätigt. Dies gilt für QoS 1 und bedeutet, dass die Nachrichtenverarbeitung 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 Nachrichtenverarbeitung abgeschlossen. |
QMqtt::MessageStatus::Completed | 5 | Eine Nachricht wurde abgeschlossen. Dies gilt für QoS 2 und bedeutet, dass die Nachrichtenverarbeitung auf der Client-Seite abgeschlossen ist. |
enum class QMqtt::PayloadFormatIndicator
Das Payload-Format liefert Informationen zum Inhalt einer Nachricht. Dies kann anderen Clients helfen, die Nachricht schneller zu verarbeiten.
| Konstante | Wert | Beschreibung |
|---|---|---|
QMqtt::PayloadFormatIndicator::Unspecified | 0 | Das Format ist nicht festgelegt. |
QMqtt::PayloadFormatIndicator::UTF8Encoded | 1 | Die Nutzdaten der Nachricht sind als UTF-8-kodierte Zeichendaten formatiert. |
enum class QMqtt::ReasonCode
Dieser Enum-Typ legt die verfügbaren Fehlercodes fest.
| Konstante | Wert | Beschreibung |
|---|---|---|
QMqtt::ReasonCode::Success | 0 | Die angegebene Aktion war erfolgreich. |
QMqtt::ReasonCode::SubscriptionQoSLevel0 | 0 | Ein Abonnement mit QoS-Stufe 0 wurde erstellt. |
QMqtt::ReasonCode::SubscriptionQoSLevel1 | 0x01 | Ein Abonnement mit QoS-Stufe 1 wurde erstellt. |
QMqtt::ReasonCode::SubscriptionQoSLevel2 | 0x02 | Ein Abonnement mit QoS-Stufe 2 wurde erstellt. |
QMqtt::ReasonCode::NoMatchingSubscriber | 0x10 | Die Nachricht wurde vom Server angenommen, es gibt jedoch keine Abonnenten, die diese Nachricht empfangen könnten. Ein Broker kann diesen Grundcode anstelle von „Erfolg“ senden. |
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15) | 0x11 | Vom Client wird kein passender Themenfilter 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 | Leiten Sie eine erneute Authentifizierung ein. |
QMqtt::ReasonCode::UnspecifiedError | 0x80 | Es ist ein nicht näher bezeichneter Fehler 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 zum Client trennt. |
QMqtt::ReasonCode::ImplementationSpecificError | 0x83 | Das Paket ist gültig, wird jedoch vom Empfänger abgelehnt. |
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 ist ungültig. |
QMqtt::ReasonCode::NotAuthorized | 0x87 | Der Client ist für die angegebene Aktion nicht autorisiert. |
QMqtt::ReasonCode::ServerNotAvailable | 0x88 | Der Server, mit dem eine Verbindung hergestellt werden soll, ist nicht verfügbar. |
QMqtt::ReasonCode::ServerBusy | 0x89 | Der Server, mit dem eine Verbindung hergestellt werden soll, ist nicht verfügbar. Der Client wird gebeten, es zu einem späteren Zeitpunkt erneut zu versuchen. |
QMqtt::ReasonCode::ClientBanned | 0x8A | Der Client wurde vom Server gesperrt. |
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 Themenname ist ungültig. |
QMqtt::ReasonCode::MessageIdInUse | 0x91 | Die im vorherigen Paket verwendete Nachrichten-ID wird bereits verwendet. |
QMqtt::ReasonCode::MessageIdNotFound | 0x92 | Die im vorherigen Paket verwendete Nachrichten-ID 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 zurückbehaltenen Nachrichten. 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, zu dem der Client eine Verbindung herstellen möchte, ist nicht verfügbar. Siehe auch QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::ServerMoved | 0x9D | Der Server, mit dem der Client eine Verbindung herstellen möchte, wurde an eine neue Adresse verschoben. Siehe auch QMqttServerConnectionProperties::serverReference(). |
QMqtt::ReasonCode::SharedSubscriptionsNotSupported | 0x9E | Gemeinsam genutzte Abonnements werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::sharedSubscriptionSupported(). |
QMqtt::ReasonCode::ExceededConnectionRate | 0x9F | Das Verbindungsratenlimit wurde überschritten. |
QMqtt::ReasonCode::SubscriptionIdsNotSupported | 0xA1 | Abonnement-IDs werden nicht unterstützt. Siehe auch QMqttServerConnectionProperties::subscriptionIdentifierSupported(). |
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported | 0xA2 | Abonnements mit Platzhaltern werden vom Server nicht unterstützt. Siehe auch QMqttServerConnectionProperties::wildcardSupported(). |
Nicht alle Werte sind in jedem Anwendungsfall verfügbar. Insbesondere lehnen manche Server einen für einen bestimmten Befehl ungeeigneten Fehlercode ab. In der folgenden Tabelle sind die zu erwartenden Fehlercodes für bestimmte Aktionen aufgeführt.
| Grundcode | Verbindungseigenschaften | Abonnement-Eigenschaften | Nachrichteneigenschaften |
|---|---|---|---|
| Erfolg | X | X | X |
| Abonnement-QoS-Stufe 0 | X | ||
| Abonnement-QoS-Stufe 1 | X | ||
| Abonnement-QoS-Stufe 2 | X | ||
| Kein passender Abonnent | X | ||
| Nicht näher bezeichneter Fehler | X | X | X |
| FehlerhaftesPaket | X | ||
| Protokollfehler | X | ||
| Implementierungsspezifischer Fehler | X | X | X |
| Nicht unterstützte Protokollversion | X | ||
| UngültigeClient-ID | X | ||
| Ungültiger Benutzername oder Passwort | X | ||
| Nicht autorisiert | X | X | X |
| Server nicht verfügbar | X | ||
| Server ist ausgelastet | X | ||
| Client gesperrt | X | ||
| Ungültige Authentifizierungsmethode | X | ||
| Ungültiger Themenfilter | X | ||
| Ungültiger Themenname | X | X | |
| MessageIdInUse | X | X | |
| MessageIdNotFound | X | ||
| Paket zu groß | X | ||
| Kontingent überschritten | X | X | X |
| Ungültiges-Nutzdatenformat | X | X | |
| Beibehaltung nicht unterstützt | X | ||
| QoS wird nicht unterstützt | X | ||
| AnderenServerVerwenden | X | ||
| ServerMoved | X | ||
| Gemeinsame Abonnements werden nicht unterstützt | X | ||
| Verbindungsrate überschritten | X | ||
| Abonnement-IDs werden nicht unterstützt | X | ||
| Wildcard-Abonnements werden nicht unterstützt | 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.