QMqttClient Class
Die Klasse QMqttClient stellt den zentralen Zugang zur Kommunikation mit einem MQTT-Broker dar. Mehr...
Kopfzeile: | #include <QMqttClient> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Mqtt) target_link_libraries(mytarget PRIVATE Qt6::Mqtt) |
qmake: | QT += mqtt |
Vererbungen: | QObject |
Öffentliche Typen
enum | ClientError { NoError, InvalidProtocolVersion, IdRejected, ServerUnavailable, BadUsernameOrPassword, …, Mqtt5SpecificError } |
enum | ClientState { Disconnected, Connecting, Connected } |
enum | ProtocolVersion { MQTT_3_1, MQTT_3_1_1, MQTT_5_0 } |
enum | TransportType { IODevice, AbstractSocket, SecureSocket } |
Eigenschaften
|
|
Öffentliche Funktionen
QMqttClient(QObject *parent = nullptr) | |
virtual | ~QMqttClient() override |
void | authenticate(const QMqttAuthenticationProperties &prop) |
bool | autoKeepAlive() const |
bool | cleanSession() const |
QString | clientId() const |
void | connectToHost() |
void | connectToHostEncrypted(const QSslConfiguration &conf) |
QMqttConnectionProperties | connectionProperties() const |
void | disconnectFromHost() |
QMqttClient::ClientError | error() const |
QString | hostname() const |
quint16 | keepAlive() const |
QMqttLastWillProperties | lastWillProperties() const |
QString | password() const |
quint16 | port() const |
QMqttClient::ProtocolVersion | protocolVersion() const |
qint32 | publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false) |
qint32 | publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false) |
bool | requestPing() |
QMqttServerConnectionProperties | serverConnectionProperties() const |
void | setConnectionProperties(const QMqttConnectionProperties &prop) |
void | setLastWillProperties(const QMqttLastWillProperties &prop) |
void | setTransport(QIODevice *device, QMqttClient::TransportType transport) |
QMqttClient::ClientState | state() const |
QMqttSubscription * | subscribe(const QMqttTopicFilter &topic, quint8 qos = 0) |
QMqttSubscription * | subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0) |
QIODevice * | transport() const |
void | unsubscribe(const QMqttTopicFilter &topic) |
void | unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties) |
QString | username() const |
QByteArray | willMessage() const |
quint8 | willQoS() const |
bool | willRetain() const |
QString | willTopic() const |
Öffentliche Slots
void | setAutoKeepAlive(bool autoKeepAlive) |
void | setCleanSession(bool cleanSession) |
void | setClientId(const QString &clientId) |
void | setError(QMqttClient::ClientError error) |
void | setHostname(const QString &hostname) |
void | setKeepAlive(quint16 keepAlive) |
void | setPassword(const QString &password) |
void | setPort(quint16 port) |
void | setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion) |
void | setState(QMqttClient::ClientState state) |
void | setUsername(const QString &username) |
void | setWillMessage(const QByteArray &willMessage) |
void | setWillQoS(quint8 willQoS) |
void | setWillRetain(bool willRetain) |
void | setWillTopic(const QString &willTopic) |
Signale
void | authenticationFinished(const QMqttAuthenticationProperties &p) |
void | authenticationRequested(const QMqttAuthenticationProperties &p) |
void | autoKeepAliveChanged(bool autoKeepAlive) |
void | brokerSessionRestored() |
void | cleanSessionChanged(bool cleanSession) |
void | clientIdChanged(QString clientId) |
void | connected() |
void | disconnected() |
void | errorChanged(QMqttClient::ClientError error) |
void | hostnameChanged(QString hostname) |
void | keepAliveChanged(quint16 keepAlive) |
void | messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName()) |
void | messageSent(qint32 id) |
void | messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties) |
void | passwordChanged(QString password) |
void | pingResponseReceived() |
void | portChanged(quint16 port) |
void | protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion) |
void | stateChanged(QMqttClient::ClientState state) |
void | usernameChanged(QString username) |
void | willMessageChanged(QByteArray willMessage) |
void | willQoSChanged(quint8 willQoS) |
void | willRetainChanged(bool willRetain) |
void | willTopicChanged(QString willTopic) |
Detaillierte Beschreibung
Ein MQTT-Client ist ein Programm oder Gerät, das MQTT verwendet, um eine Netzwerkverbindung zu einem MQTT-Server, auch Broker genannt, herzustellen. Die Verbindungsanfrage muss einen eindeutigen Client-Identifier enthalten. Optional kann sie ein Will Topic, Will Message, einen Benutzernamen und ein Passwort enthalten.
Sobald eine Verbindung hergestellt ist, kann ein Client Nachrichten senden, an deren Empfang andere Clients interessiert sein könnten, sich anmelden, um Benachrichtigungen zu Themen anzufordern, sich abmelden, um eine Anforderung von Benachrichtigungen zu entfernen, und die Verbindung zum Broker trennen.
Dokumentation der Mitgliedstypen
enum QMqttClient::ClientError
Dieser Enum-Typ gibt den Fehlerstatus eines Clients an.
Konstante | Wert | Beschreibung |
---|---|---|
QMqttClient::NoError | 0 | Kein Fehler aufgetreten. |
QMqttClient::InvalidProtocolVersion | 1 | Der Broker akzeptiert keine Verbindung mit der angegebenen Protokollversion. |
QMqttClient::IdRejected | 2 | Die Client-ID ist falsch formatiert. Dies könnte mit ihrer Länge zusammenhängen. |
QMqttClient::ServerUnavailable | 3 | Die Netzwerkverbindung wurde zwar hergestellt, aber der Dienst ist auf der Maklerseite nicht verfügbar. |
QMqttClient::BadUsernameOrPassword | 4 | Die Daten im Benutzernamen oder Kennwort sind fehlerhaft. |
QMqttClient::NotAuthorized | 5 | Der Client ist nicht berechtigt, eine Verbindung herzustellen. |
QMqttClient::TransportInvalid | 256 | Der zugrunde liegende Transport hat einen Fehler verursacht. Beispielsweise könnte die Verbindung unerwartet unterbrochen worden sein. |
QMqttClient::ProtocolViolation | 257 | Der Client ist auf eine Protokollverletzung gestoßen und hat deshalb die Verbindung geschlossen. |
QMqttClient::UnknownError | 258 | Ein unbekannter Fehler ist aufgetreten. |
QMqttClient::Mqtt5SpecificError | 259 | Der Fehler bezieht sich auf MQTT-Protokollstufe 5. Ein Ursachencode kann weitere Details liefern. |
enum QMqttClient::ClientState
Dieser Enum-Typ gibt die Zustände an, die ein Client einnehmen kann.
Konstante | Wert | Beschreibung |
---|---|---|
QMqttClient::Disconnected | 0 | Der Client ist nicht mit dem Broker verbunden. |
QMqttClient::Connecting | 1 | Es wurde eine Verbindungsanfrage gestellt, aber der Makler hat die Verbindung noch nicht genehmigt. |
QMqttClient::Connected | 2 | Der Client ist mit dem Makler verbunden. |
enum QMqttClient::ProtocolVersion
Diese Aufzählung gibt die Protokollversion des MQTT-Standards an, die bei der Kommunikation mit einem Broker verwendet werden soll.
Konstante | Wert | Beschreibung |
---|---|---|
QMqttClient::MQTT_3_1 | 3 | MQTT-Standard 3.1 |
QMqttClient::MQTT_3_1_1 | 4 | MQTT-Standard 3.1.1, öffentlich als Version 4 bezeichnet |
QMqttClient::MQTT_5_0 | 5 | MQTT-Standard 5.0 |
enum QMqttClient::TransportType
Dieser Enum-Typ gibt die Verbindungsmethode an, die für die Herstellung einer Verbindung zu einem Makler verwendet werden soll.
Konstante | Wert | Beschreibung |
---|---|---|
QMqttClient::IODevice | 0 | Der Transport verwendet eine Klasse, die auf einem QIODevice basiert. |
QMqttClient::AbstractSocket | 1 | Der Transport verwendet eine Klasse, die auf QAbstractSocket basiert. |
QMqttClient::SecureSocket | 2 | Der Transport verwendet eine Klasse, die auf einer QSslSocket basiert. |
Eigenschaft Dokumentation
autoKeepAlive : bool
Diese Eigenschaft gibt an, ob der Client automatisch Keep-Alive-Nachrichten an den Server sendet.
Wenn diese Eigenschaft true
lautet, sendet der Client im Intervall keepAlive automatisch eine Ping-Nachricht an den Server.
Andernfalls muss ein Benutzer innerhalb des angegebenen Intervalls der Verbindung manuell requestPing aufrufen. Wenn innerhalb des Intervalls kein Ping gesendet wurde, trennt der Server die Verbindung.
Der Standardwert für diese Eigenschaft ist true
.
Zugriffsfunktionen:
bool | autoKeepAlive() const |
void | setAutoKeepAlive(bool autoKeepAlive) |
Benachrichtigungssignal:
void | autoKeepAliveChanged(bool autoKeepAlive) |
Siehe auch keepAlive(), requestPing(), serverConnectionProperties(), und pingResponseReceived().
cleanSession : bool
Diese Eigenschaft enthält den Zustand nach der Verbindung mit einem Makler.
Zugriffsfunktionen:
bool | cleanSession() const |
void | setCleanSession(bool cleanSession) |
Benachrichtigungssignal:
void | cleanSessionChanged(bool cleanSession) |
clientId : QString
Diese Eigenschaft enthält den Identifikatorwert des Clients.
Jeder Client muss eine eindeutige ID haben, um eine Verbindung zu einem MQTT-Broker herstellen zu können. Wenn der Benutzer keine Client-ID angibt, wird eine solche automatisch generiert, wenn eine Verbindung hergestellt wird.
Zugriffsfunktionen:
QString | clientId() const |
void | setClientId(const QString &clientId) |
Benachrichtigungssignal:
void | clientIdChanged(QString clientId) |
error : ClientError
Gibt den aktuellen Fehler des Clients an.
Zugriffsfunktionen:
QMqttClient::ClientError | error() const |
void | setError(QMqttClient::ClientError error) |
Benachrichtigungssignal:
void | errorChanged(QMqttClient::ClientError error) |
hostname : QString
Diese Eigenschaft enthält den Hostnamen des MQTT-Brokers, mit dem eine Verbindung hergestellt werden soll.
Wenn kein Transport über setTransport() angegeben wird, wird der Client selbst eine Socket-Verbindung zu dem angegebenen Hostnamen herstellen.
Zugriffsfunktionen:
QString | hostname() const |
void | setHostname(const QString &hostname) |
Benachrichtigungssignal:
void | hostnameChanged(QString hostname) |
keepAlive : quint16
Diese Eigenschaft legt das Intervall fest, in dem regelmäßig Ping-Nachrichten an den Broker gesendet werden.
Sobald eine Verbindung zu einem Makler hergestellt ist, muss der Client häufig Aktualisierungen senden, um mitzuteilen, dass er immer noch erreichbar ist. Das Intervall zwischen diesen Aktualisierungen wird durch diese Eigenschaft festgelegt.
Das Intervall wird in Sekunden angegeben.
Reagiert der Broker nicht innerhalb einer bestimmten Frist, wird die Verbindung geschlossen.
Zugriffsfunktionen:
quint16 | keepAlive() const |
void | setKeepAlive(quint16 keepAlive) |
Benachrichtigungssignal:
void | keepAliveChanged(quint16 keepAlive) |
Siehe auch autoKeepAlive(), requestPing(), und pingResponseReceived().
password : QString
Diese Eigenschaft enthält das Passwort für die Verbindung zu einem Broker.
Zugriffsfunktionen:
QString | password() const |
void | setPassword(const QString &password) |
Benachrichtigungssignal:
void | passwordChanged(QString password) |
port : quint16
Diese Eigenschaft enthält den Port für die Verbindung mit dem MQTT-Broker.
Wenn kein Transport über setTransport() angegeben wird, wird der Client eine Socket-Verbindung zu einem Host mit dieser Port-Nummer instanziieren.
Zugriffsfunktionen:
quint16 | port() const |
void | setPort(quint16 port) |
Benachrichtigungssignal:
void | portChanged(quint16 port) |
protocolVersion : ProtocolVersion
Diese Eigenschaft enthält die MQTT-Standardversion, die für Verbindungen verwendet werden soll.
Gibt die Version des Standards an, die der Client für die Verbindung mit einem Broker verwendet. Gültige Werte sind:
- 3: MQTT-Standardversion 3.1.
- 4: MQTT-Standard Version 3.1.1, oft auch als MQTT 4 bezeichnet.
- 5: MQTT-Standard 5.0.
Zugriffsfunktionen:
QMqttClient::ProtocolVersion | protocolVersion() const |
void | setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion) |
Notifier-Signal:
void | protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion) |
state : ClientState
Diese Eigenschaft enthält den aktuellen Zustand des Clients.
Zugriffsfunktionen:
QMqttClient::ClientState | state() const |
void | setState(QMqttClient::ClientState state) |
Benachrichtigungssignal:
void | stateChanged(QMqttClient::ClientState state) |
username : QString
Diese Eigenschaft enthält den Benutzernamen für die Verbindung zu einem Makler.
Zugriffsfunktionen:
QString | username() const |
void | setUsername(const QString &username) |
Benachrichtigungssignal:
void | usernameChanged(QString username) |
willMessage : QByteArray
Diese Eigenschaft enthält die Nutzlast einer Will-Nachricht.
Zugriffsfunktionen:
QByteArray | willMessage() const |
void | setWillMessage(const QByteArray &willMessage) |
Melder-Signal:
void | willMessageChanged(QByteArray willMessage) |
willQoS : quint8
Diese Eigenschaft enthält den Grad der QoS für das Senden und Speichern der Will-Nachricht.
Zugriffsfunktionen:
quint8 | willQoS() const |
void | setWillQoS(quint8 willQoS) |
Benachrichtigungssignal:
void | willQoSChanged(quint8 willQoS) |
willRetain : bool
Diese Eigenschaft gibt an, ob die Willensnachricht beim Makler für den Empfang durch künftige Abonnenten gespeichert werden soll.
Zugriffsfunktionen:
bool | willRetain() const |
void | setWillRetain(bool willRetain) |
Benachrichtigungssignal:
void | willRetainChanged(bool willRetain) |
willTopic : QString
Diese Eigenschaft enthält das Testamentsthema.
Zugriffsfunktionen:
QString | willTopic() const |
void | setWillTopic(const QString &willTopic) |
Benachrichtigungssignal:
void | willTopicChanged(QString willTopic) |
Member Function Dokumentation
[explicit]
QMqttClient::QMqttClient(QObject *parent = nullptr)
Erzeugt eine neue MQTT-Client-Instanz mit der angegebenen parent.
[override virtual noexcept]
QMqttClient::~QMqttClient()
Löscht einen MQTT-Client. Wenn der MQTT-Client nicht bereits vom MQTT-Broker getrennt wurde, wird er automatisch getrennt.
void QMqttClient::authenticate(const QMqttAuthenticationProperties &prop)
Sendet eine Authentifizierungsanfrage an den Broker. prop gibt die erforderlichen Informationen an, um die Authentifizierungsanfrage zu erfüllen.
Diese Funktion sollte nur aufgerufen werden, nachdem ein QMqttClient::authenticationRequested Signal gesendet wurde.
Hinweis: Die erweiterte Authentifizierung ist Teil des MQTT 5.0-Standards und kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion spezifiziert.
Siehe auch authenticationRequested() und authenticationFinished().
[signal]
void QMqttClient::authenticationFinished(const QMqttAuthenticationProperties &p)
Dieses Signal wird ausgegeben, nachdem die erweiterte Authentifizierung abgeschlossen ist. p gibt die verfügbaren Details zum Authentifizierungsprozess an.
Nach erfolgreicher Authentifizierung wird QMqttClient::connected ausgegeben.
Hinweis: Die erweiterte Authentifizierung ist Teil des MQTT 5.0-Standards und kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion spezifiziert.
Siehe auch authenticationRequested() und authenticate().
[signal]
void QMqttClient::authenticationRequested(const QMqttAuthenticationProperties &p)
Dieses Signal wird ausgegeben, nachdem ein Client QMqttClient::connectToHost oder QMqttClient::connectToHostEncrypted aufgerufen hat und bevor die Verbindung hergestellt wird. Bei der erweiterten Authentifizierung kann ein Broker zusätzliche Details anfordern, die durch den Aufruf von QMqttClient::authenticate bereitgestellt werden müssen. p spezifiziert die vom Broker bereitgestellten Eigenschaften.
Hinweis: Die erweiterte Authentifizierung ist Teil des MQTT 5.0-Standards und kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Siehe auch authenticationFinished() und authenticate().
[signal]
void QMqttClient::brokerSessionRestored()
Dieses Signal wird ausgegeben, nachdem ein Client erfolgreich eine Verbindung zu einem Broker mit der Eigenschaft cleanSession auf false
hergestellt hat und der Broker die Sitzung wiederhergestellt hat.
Sitzungen können wiederhergestellt werden, wenn ein Client zuvor eine Verbindung mit der gleichen clientId hergestellt hat.
[invokable]
void QMqttClient::connectToHost()
Initiiert eine Verbindung mit dem MQTT-Broker.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
void QMqttClient::connectToHostEncrypted(const QSslConfiguration &conf)
Initiiert eine verschlüsselte Verbindung zum MQTT-Broker.
conf gibt die SSL-Konfiguration an, die für die Verbindung verwendet werden soll
[signal]
void QMqttClient::connected()
Dieses Signal wird ausgegeben, wenn eine Verbindung zustande gekommen ist.
QMqttConnectionProperties QMqttClient::connectionProperties() const
Gibt die Verbindungseigenschaften zurück, die der Client beim Broker anfordert.
Hinweis: QMqttConnectionProperties kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Siehe auch setConnectionProperties().
[invokable]
void QMqttClient::disconnectFromHost()
Trennt die Verbindung mit dem MQTT-Broker.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[signal]
void QMqttClient::disconnected()
Dieses Signal wird ausgegeben, wenn eine Verbindung geschlossen wurde. Eine Verbindung kann geschlossen werden, wenn disconnectFromHost() aufgerufen wird oder wenn der Broker die Verbindung trennt.
QMqttLastWillProperties QMqttClient::lastWillProperties() const
Gibt die Eigenschaften des letzten Willens zurück.
Hinweis: QMqttLastWillProperties kann nur verwendet werden, wenn der Kunde MQTT_5_0 als ProtocolVersion angibt.
Siehe auch setLastWillProperties().
[signal]
void QMqttClient::messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())
Dieses Signal wird ausgesendet, wenn eine neue Nachricht empfangen wurde. Die Kategorie der Nachricht wird durch topic angegeben, der Inhalt ist message.
[signal]
void QMqttClient::messageSent(qint32 id)
Zeigt an, dass eine Nachricht, die über die Funktion publish() gesendet wurde, vom Broker empfangen wurde. Die Adresse id ist die gleiche wie die von publish()
zurückgegebene, um den Status der Nachricht zu verfolgen.
[signal]
void QMqttClient::messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)
Dieses Signal wird ausgegeben, wenn sich der Status für die durch id identifizierte Nachricht ändert. s gibt den neuen Status der Nachricht an, und properties spezifiziert zusätzliche Eigenschaften, die vom Server bereitgestellt werden.
[signal]
void QMqttClient::pingResponseReceived()
Dieses Signal wird ausgegeben, nachdem der Broker auf einen requestPing()-Aufruf oder eine keepAlive()-Ping-Nachricht geantwortet hat und die Verbindung noch gültig ist.
[invokable]
qint32 QMqttClient::publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
Publiziert eine message an den Broker mit dem angegebenen topic. qos gibt die für die Übertragung der Nachricht erforderliche QoS-Stufe an.
Wenn retain auf true
eingestellt ist, verbleibt die Nachricht beim Broker, damit andere Clients eine Verbindung herstellen und die Nachricht empfangen können.
Gibt eine ID zurück, die intern zur Identifizierung der Nachricht verwendet wird.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
qint32 QMqttClient::publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
Veröffentlicht eine message an den Broker mit den angegebenen properties und topic. qos gibt die für die Übertragung der Nachricht erforderliche QoS-Stufe an.
Wenn retain auf true
eingestellt ist, verbleibt die Nachricht beim Broker, damit andere Clients eine Verbindung herstellen und die Nachricht empfangen können.
Gibt eine ID zurück, die intern zur Identifizierung der Nachricht verwendet wird.
Hinweis: properties wird nur an den Broker weitergegeben, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
bool QMqttClient::requestPing()
Sendet eine Ping-Nachricht an den Broker und erwartet eine Antwort.
Wenn die Verbindung aktiv ist und autoKeepAlive auf true
steht, schlägt der Aufruf dieser Funktion fehl, da der Client für die Verwaltung dieses Prozesses verantwortlich ist.
Die manuelle Verwendung von requestPing()
erfordert jedes Mal einen Aufruf innerhalb des Intervalls keepAlive, solange die Verbindung aktiv ist.
Um zu überprüfen, ob der Ping erfolgreich war, verbinden Sie sich mit dem Signal pingResponseReceived().
Gibt true
zurück, wenn die Ping-Anfrage gesendet werden konnte.
Siehe auch pingResponseReceived(), autoKeepAlive(), und keepAlive().
QMqttServerConnectionProperties QMqttClient::serverConnectionProperties() const
Gibt die QMqttServerConnectionProperties zurück, die der Broker nach einem Verbindungsversuch zurückgegeben hat.
Dies kann verwendet werden, um zu überprüfen, ob die von QMqttClient::setConnectionProperties eingestellten clientseitigen Verbindungseigenschaften vom Makler akzeptiert worden sind. Außerdem kann es im Falle eines fehlgeschlagenen Verbindungsversuchs für die Verbindungsdiagnose verwendet werden.
Hinweis: QMqttServerConnectionProperties kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Siehe auch connectionProperties().
void QMqttClient::setConnectionProperties(const QMqttConnectionProperties &prop)
Setzt die Verbindungseigenschaften auf prop. QMqttConnectionProperties kann verwendet werden, um den Server aufzufordern, einen bestimmten Funktionssatz zu verwenden. Nach einer Verbindungsanfrage kann die Antwort des Servers durch den Aufruf von QMqttClient::serverConnectionProperties abgerufen werden.
Hinweis: Die Verbindungseigenschaften können nur gesetzt werden, wenn sich der MQTT-Client im Zustand Disconnected befindet.
Hinweis: QMqttConnectionProperties kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Siehe auch connectionProperties().
void QMqttClient::setLastWillProperties(const QMqttLastWillProperties &prop)
Setzt die Eigenschaften des letzten Willens auf prop. QMqttLastWillProperties ermöglicht es, zusätzliche Eigenschaften für die beim Broker gespeicherte letzte Willensnachricht festzulegen.
Hinweis: Die Verbindungseigenschaften können nur eingestellt werden, wenn sich der MQTT-Client im Zustand Disconnected befindet.
Hinweis: QMqttLastWillProperties kann nur verwendet werden, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
Siehe auch lastWillProperties().
void QMqttClient::setTransport(QIODevice *device, QMqttClient::TransportType transport)
Setzt den Transport auf device. Ein Transport kann entweder ein Socket-Typ sein oder von QIODevice abgeleitet werden und wird durch transport angegeben.
Hinweis: Der Transport kann nur ausgetauscht werden, wenn sich der MQTT-Client im Zustand Disconnected befindet.
Hinweis: Durch die Festlegung eines benutzerdefinierten Transports für einen Client wird die Verantwortung für das Verbindungsmanagement nicht übertragen. Der Transport muss für QIODevice basierte Transporte geöffnet oder für Socket-Transporte verbunden sein, bevor QMqttClient::connectToHost() aufgerufen wird.
Siehe auch transport().
QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)
Fügt ein neues Abonnement zum Empfang von Benachrichtigungen auf topic hinzu. Der Parameter qos gibt die Stufe an, auf der Sicherheitsmeldungen empfangen werden. Weitere Informationen zu den verfügbaren QoS-Stufen finden Sie unter Quality of Service.
Diese Funktion gibt einen Zeiger auf QMqttSubscription zurück. Wenn dasselbe Topic zweimal abonniert wird, zeigt der Rückgabewert auf dieselbe Abonnementinstanz. Der MQTT-Client ist der Eigentümer des Abonnements.
QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)
Fügt ein neues Abonnement zum Empfang von Benachrichtigungen auf topic hinzu. Der Parameter properties gibt zusätzliche Eigenschaften des Abonnements an, die vom Makler zu überprüfen sind. Der Parameter qos gibt die Ebene an, auf der Sicherheitsnachrichten empfangen werden. Weitere Informationen zu den verfügbaren QoS-Stufen finden Sie unter Quality of Service.
Diese Funktion gibt einen Zeiger auf QMqttSubscription zurück. Wenn dasselbe Topic zweimal abonniert wird, zeigt der Rückgabewert auf dieselbe Abonnementinstanz. Der MQTT-Client ist der Eigentümer des Abonnements.
Hinweis: properties wird nur an den Broker weitergegeben, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
QIODevice *QMqttClient::transport() const
Gibt den für die Kommunikation mit dem Makler verwendeten Transport zurück.
Siehe auch setTransport().
void QMqttClient::unsubscribe(const QMqttTopicFilter &topic)
Meldet sich von topic ab. Es werden keine Benachrichtigungen an die Abonnements gesendet, die durch den Aufruf von subscribe() erstellt wurden.
Hinweis: Wenn ein Kunde die Verbindung zu einem Broker trennt, ohne sich abzumelden, speichert der Broker alle Nachrichten und veröffentlicht sie bei der nächsten erneuten Verbindung.
void QMqttClient::unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)
Meldet sich von topic ab. Es werden keine Benachrichtigungen an die Abonnements gesendet, die durch den Aufruf von subscribe() erstellt wurden. properties gibt zusätzliche Benutzereigenschaften an, die an den Broker übergeben werden.
Hinweis: Wenn ein Kunde die Verbindung zu einem Broker trennt, ohne sich abzumelden, speichert der Broker alle Nachrichten und veröffentlicht sie bei der nächsten erneuten Verbindungsaufnahme.
Hinweis: properties wird nur an den Broker weitergegeben, wenn der Client MQTT_5_0 als ProtocolVersion angibt.
© 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.