En esta página

QMqttClient Class

La clase QMqttClient representa el acceso central que se comunica con un broker MQTT. Más...

Cabecera: #include <QMqttClient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt
Hereda: QObject

Tipos públicos

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, WebSocket, SecureWebSocket }

Propiedades

Funciones públicas

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)
(since 6.10) void connectToHostWebSocket(QWebSocket *webSocket = nullptr)
(since 6.10) void connectToHostWebSocketEncrypted(QWebSocket *webSocket = nullptr)
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

Ranuras públicas

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)

Señales

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)

Descripción detallada

Un cliente MQTT es un programa o dispositivo que utiliza MQTT para crear una conexión de red a un servidor MQTT, también llamado broker. La solicitud de conexión debe contener un identificador de cliente único. Opcionalmente, puede contener un Will Topic, Will Message, nombre de usuario y contraseña.

Una vez creada una conexión, un cliente puede enviar mensajes que otros clientes podrían estar interesados en recibir, suscribirse para solicitar notificaciones sobre temas, darse de baja para eliminar una solicitud de notificaciones y desconectarse del broker.

Documentación sobre tipos de miembros

enum QMqttClient::ClientError

Este tipo enum especifica el estado de error de un cliente.

ConstanteValorDescripción
QMqttClient::NoError0No se ha producido ningún error.
QMqttClient::InvalidProtocolVersion1El agente no acepta una conexión utilizando la versión de protocolo especificada.
QMqttClient::IdRejected2El ID de cliente está malformado. Esto puede estar relacionado con su longitud.
QMqttClient::ServerUnavailable3Se ha establecido la conexión de red, pero el servicio no está disponible en el lado del agente.
QMqttClient::BadUsernameOrPassword4Los datos del nombre de usuario o de la contraseña están malformados.
QMqttClient::NotAuthorized5El cliente no está autorizado a conectarse.
QMqttClient::TransportInvalid256El transporte subyacente ha provocado un error. Por ejemplo, la conexión podría haberse interrumpido inesperadamente.
QMqttClient::ProtocolViolation257El cliente ha encontrado una violación del protocolo, por lo que ha cerrado la conexión.
QMqttClient::UnknownError258Se ha producido un error desconocido.
QMqttClient::Mqtt5SpecificError259El error está relacionado con el nivel 5 del protocolo MQTT. Un código de motivo puede proporcionar más detalles.

enum QMqttClient::ClientState

Este tipo enum especifica los estados en los que puede entrar un cliente.

ConstanteValorDescripción
QMqttClient::Disconnected0El cliente está desconectado del broker.
QMqttClient::Connecting1Se ha realizado una solicitud de conexión, pero el broker aún no ha aprobado la conexión.
QMqttClient::Connected2El cliente está conectado al broker.

enum QMqttClient::ProtocolVersion

Este enum especifica la versión de protocolo del estándar MQTT a utilizar durante la comunicación con un broker.

ConstanteValorDescripción
QMqttClient::MQTT_3_13Estándar MQTT 3.1
QMqttClient::MQTT_3_1_14Estándar MQTT 3.1.1, conocido públicamente como versión 4
QMqttClient::MQTT_5_05Estándar MQTT 5.0

enum QMqttClient::TransportType

Este tipo enum especifica el método de conexión que se utilizará para instanciar una conexión a un broker.

ConstanteValorDescripción
QMqttClient::IODevice0El transporte utiliza una clase basada en QIODevice.
QMqttClient::AbstractSocket1El transporte utiliza una clase basada en QAbstractSocket.
QMqttClient::SecureSocket2El transporte utiliza una clase basada en QSslSocket.
QMqttClient::WebSocket (since Qt 6.10)3El transporte utiliza una clase basada en QIODevice, que utiliza internamente QWebSocket.
QMqttClient::SecureWebSocket (since Qt 6.10)4El transporte utiliza una clase basada en un QIODevice, que utiliza internamente un QWebSocket seguro.

Documentación de propiedades

autoKeepAlive : bool

Esta propiedad mantiene si el cliente gestionará automáticamente mensajes keep alive al servidor.

Si esta propiedad es true, entonces el cliente enviará automáticamente un mensaje ping al servidor en el intervalo keepAlive.

En caso contrario, el usuario tendrá que invocar manualmente requestPing en el intervalo especificado de la conexión. Si no se ha enviado ningún ping en el intervalo, el servidor se desconectará.

El valor por defecto de esta propiedad es true.

Funciones de acceso:

bool autoKeepAlive() const
void setAutoKeepAlive(bool autoKeepAlive)

Señal de notificador:

void autoKeepAliveChanged(bool autoKeepAlive)

Véase también keepAlive(), requestPing(), serverConnectionProperties(), y pingResponseReceived().

cleanSession : bool

Esta propiedad mantiene el estado después de conectarse a un broker.

Funciones de acceso:

bool cleanSession() const
void setCleanSession(bool cleanSession)

Señal del notificador:

void cleanSessionChanged(bool cleanSession)

clientId : QString

Esta propiedad contiene el valor del identificador del cliente.

Cada cliente necesita tener un identificador único para poder conectarse a un broker MQTT. Si el usuario no especifica ningún identificador de cliente, se generará uno automáticamente cuando se establezca una conexión.

Funciones de acceso:

QString clientId() const
void setClientId(const QString &clientId)

Señal de notificador:

void clientIdChanged(QString clientId)

error : ClientError

Especifica el error actual del cliente.

Funciones de acceso:

QMqttClient::ClientError error() const
void setError(QMqttClient::ClientError error)

Señal del notificador:

void errorChanged(QMqttClient::ClientError error)

hostname : QString

Esta propiedad contiene el nombre de host del broker MQTT al que conectarse.

Si no se especifica ningún transporte a través de setTransport(), el cliente creará una conexión de socket con el nombre de host especificado.

Funciones de acceso:

QString hostname() const
void setHostname(const QString &hostname)

Señal de notificador:

void hostnameChanged(QString hostname)

keepAlive : quint16

Esta propiedad mantiene el intervalo en el que se envían mensajes ping regulares al broker.

Una vez establecida la conexión con un broker, el cliente necesita enviar actualizaciones frecuentes para propagar que aún puede ser alcanzado. El intervalo entre esas actualizaciones se especifica mediante esta propiedad.

El intervalo se especifica en segundos.

Si el broker no responde en un periodo de gracia, la conexión se cerrará.

Funciones de acceso:

quint16 keepAlive() const
void setKeepAlive(quint16 keepAlive)

Señal de notificador:

void keepAliveChanged(quint16 keepAlive)

Véase también autoKeepAlive(), requestPing(), y pingResponseReceived().

password : QString

Esta propiedad contiene la contraseña para conectarse a un broker.

Funciones de acceso:

QString password() const
void setPassword(const QString &password)

Señal de notificador:

void passwordChanged(QString password)

port : quint16

Esta propiedad contiene el puerto para conectarse al broker MQTT.

Si no se especifica ningún transporte a través de setTransport(), el cliente instanciará una conexión de socket a un host con este número de puerto.

Funciones de acceso:

quint16 port() const
void setPort(quint16 port)

Señal de notificador:

void portChanged(quint16 port)

protocolVersion : ProtocolVersion

Esta propiedad contiene la versión del estándar MQTT a utilizar para las conexiones.

Especifica la versión del estándar que utiliza el cliente para conectarse a un broker. Los valores válidos son:

  • 3: Versión 3.1 del estándar MQTT.
  • 4: Estándar MQTT versión 3.1.1, a menudo denominado MQTT 4.
  • 5: Estándar MQTT 5.0.

Funciones de acceso:

QMqttClient::ProtocolVersion protocolVersion() const
void setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion)

Señal de notificador:

void protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion)

state : ClientState

Esta propiedad contiene el estado actual del cliente.

Funciones de acceso:

QMqttClient::ClientState state() const
void setState(QMqttClient::ClientState state)

Señal del notificador:

void stateChanged(QMqttClient::ClientState state)

username : QString

Esta propiedad contiene el nombre de usuario para conectarse a un broker.

Funciones de acceso:

QString username() const
void setUsername(const QString &username)

Señal de notificador:

void usernameChanged(QString username)

willMessage : QByteArray

Esta propiedad contiene la carga útil de un mensaje de testamento.

Funciones de acceso:

QByteArray willMessage() const
void setWillMessage(const QByteArray &willMessage)

Señal del notificador:

void willMessageChanged(QByteArray willMessage)

willQoS : quint8

Esta propiedad contiene el nivel de QoS para el envío y almacenamiento del Mensaje de Voluntad.

Funciones de acceso:

quint8 willQoS() const
void setWillQoS(quint8 willQoS)

Señal del notificador:

void willQoSChanged(quint8 willQoS)

willRetain : bool

Esta propiedad indica si el mensaje de testamento debe conservarse en el corredor para que lo reciban futuros suscriptores.

Funciones de acceso:

bool willRetain() const
void setWillRetain(bool willRetain)

Señal del notificador:

void willRetainChanged(bool willRetain)

willTopic : QString

Esta propiedad contiene el tema del testamento.

Funciones de acceso:

QString willTopic() const
void setWillTopic(const QString &willTopic)

Señal del notificador:

void willTopicChanged(QString willTopic)

Documentación de la Función Miembro

[explicit] QMqttClient::QMqttClient(QObject *parent = nullptr)

Crea una nueva instancia de cliente MQTT con la dirección parent especificada.

[override virtual noexcept] QMqttClient::~QMqttClient()

Elimina un cliente MQTT. Si el cliente MQTT no estaba ya desconectado del broker MQTT, se desconectará automáticamente.

Nota: Si se especifica un transporte con setTransport debe ser válido en este punto.

void QMqttClient::authenticate(const QMqttAuthenticationProperties &prop)

Envía una solicitud de autenticación al intermediario. prop especifica la información necesaria para completar la solicitud de autenticación.

Esta función sólo debe llamarse después de que se haya emitido una señal QMqttClient::authenticationRequested.

Nota: La autenticación extendida forma parte del estándar MQTT 5.0 y sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también authenticationRequested() y authenticationFinished().

[signal] void QMqttClient::authenticationFinished(const QMqttAuthenticationProperties &p)

Esta señal se emite una vez finalizada la autenticación extendida. p especifica los detalles disponibles sobre el proceso de autenticación.

Tras una autenticación correcta se emite QMqttClient::connected.

Nota: La autenticación extendida forma parte del estándar MQTT 5.0 y sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también authenticationRequested() y authenticate().

[signal] void QMqttClient::authenticationRequested(const QMqttAuthenticationProperties &p)

Esta señal se emite después de que un cliente invoque QMqttClient::connectToHost o QMqttClient::connectToHostEncrypted y antes de que se establezca la conexión. En la autenticación extendida, un broker puede solicitar detalles adicionales que deben ser proporcionados invocando QMqttClient::authenticate. p especifica propiedades proporcionadas por el broker.

Nota: La autenticación extendida forma parte del estándar MQTT 5.0 y sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también authenticationFinished() y authenticate().

[signal] void QMqttClient::brokerSessionRestored()

Esta señal se emite después de que un cliente se haya conectado con éxito a un corredor con la propiedad cleanSession establecida en false, y el corredor haya restaurado la sesión.

Las sesiones se pueden restaurar si un cliente se ha conectado previamente utilizando el mismo clientId.

[invokable] void QMqttClient::connectToHost()

Inicia una conexión con el broker MQTT.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

void QMqttClient::connectToHostEncrypted(const QSslConfiguration &conf)

Inicia una conexión cifrada con el broker MQTT.

conf especifica la configuración SSL que se utilizará para la conexión.

[invokable, since 6.10] void QMqttClient::connectToHostWebSocket(QWebSocket *webSocket = nullptr)

Establece un tipo de transporte de socket web e inicia una conexión con el broker MQTT. El tipo de transporte anterior es reemplazado. Si se da webSocket, se ignora el nombre de host y el puerto, y la conexión se realiza con ese websocket. webSocket es propiedad del código que llama, y debe ser válido durante el tiempo de vida del objeto QMqttClient.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

Esta función se introdujo en Qt 6.10.

[invokable, since 6.10] void QMqttClient::connectToHostWebSocketEncrypted(QWebSocket *webSocket = nullptr)

Establece un tipo de transporte websocket seguro e inicia una conexión con el broker MQTT. El tipo de transporte anterior es reemplazado. Si se da webSocket, se ignora el nombre de host y el puerto, y la conexión se realiza con ese websocket. webSocket es propiedad del código que llama, y debe ser válido durante el tiempo de vida del objeto QMqttClient.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

Esta función se introdujo en Qt 6.10.

[signal] void QMqttClient::connected()

Esta señal se emite cuando se ha establecido una conexión.

QMqttConnectionProperties QMqttClient::connectionProperties() const

Devuelve las propiedades de conexión que el cliente solicita al broker.

Nota: QMqttConnectionProperties sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también setConnectionProperties().

[invokable] void QMqttClient::disconnectFromHost()

Se desconecta del broker MQTT.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[signal] void QMqttClient::disconnected()

Esta señal se emite cuando se ha cerrado una conexión. Una conexión puede cerrarse cuando se llama a disconnectFromHost() o cuando el broker se desconecta.

QMqttLastWillProperties QMqttClient::lastWillProperties() const

Devuelve las propiedades de la última voluntad.

Nota: QMqttLastWillProperties sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también setLastWillProperties().

[signal] void QMqttClient::messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())

Esta señal se emite cuando se recibe un nuevo mensaje. La categoría del mensaje se especifica mediante topic siendo el contenido message.

[signal] void QMqttClient::messageSent(qint32 id)

Indica que un mensaje que fue enviado a través de la función publish() ha sido recibido por el broker. El id es el mismo que devuelve publish() para ayudar a seguir el estado del mensaje.

[signal] void QMqttClient::messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)

Esta señal se emite cuando cambia el estado del mensaje identificado por id. s especifica el nuevo estado del mensaje, y properties especifica propiedades adicionales proporcionadas por el servidor.

[signal] void QMqttClient::pingResponseReceived()

Esta señal se emite después de que el broker responda a una llamada requestPing() o a un mensaje ping keepAlive(), y la conexión siga siendo válida.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

Publica un message en el broker con el topic especificado. qos especifica el nivel de QoS necesario para transferir el mensaje.

Si retain se establece en true, el mensaje permanecerá en el broker para que otros clientes se conecten y reciban el mensaje.

Devuelve un ID que se utiliza internamente para identificar el mensaje.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

Publica un message en el broker con los valores properties y topic especificados. qos especifica el nivel de QoS necesario para transferir el mensaje.

Si retain se establece en true, el mensaje permanecerá en el broker para que otros clientes se conecten y reciban el mensaje.

Devuelve un ID que se utiliza internamente para identificar el mensaje.

Nota: properties sólo se pasará al broker cuando el cliente especifique MQTT_5_0 como ProtocolVersion.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

bool QMqttClient::requestPing()

Envía un mensaje ping al broker y espera una respuesta.

Si la conexión está activa y autoKeepAlive es true, entonces la llamada a esta función fallará ya que el cliente es responsable de gestionar este proceso.

Utilizar requestPing() manualmente requiere una llamada cada vez dentro del intervalo keepAlive mientras la conexión esté activa.

Para comprobar si el ping ha tenido éxito, conéctese a la señal pingResponseReceived().

Devuelve true si se ha podido enviar la solicitud de ping.

Véase también pingResponseReceived(), autoKeepAlive(), y keepAlive().

QMqttServerConnectionProperties QMqttClient::serverConnectionProperties() const

Devuelve el QMqttServerConnectionProperties que el broker devolvió después de un intento de conexión.

Esto se puede utilizar para verificar que las propiedades de conexión del lado del cliente establecidas por QMqttClient::setConnectionProperties han sido aceptadas por el broker. Además, en caso de un intento de conexión fallido, puede utilizarse para diagnosticar la conexión.

Nota: QMqttServerConnectionProperties sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también connectionProperties().

void QMqttClient::setConnectionProperties(const QMqttConnectionProperties &prop)

Establece las propiedades de conexión en prop. QMqttConnectionProperties puede utilizarse para pedir al servidor que utilice un conjunto de características específico. Después de una solicitud de conexión, la respuesta del servidor se puede obtener llamando a QMqttClient::serverConnectionProperties.

Nota: Las propiedades de conexión sólo pueden establecerse si el cliente MQTT se encuentra en el estado Disconnected.

Nota: QMqttConnectionProperties sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también connectionProperties().

void QMqttClient::setLastWillProperties(const QMqttLastWillProperties &prop)

Establece las propiedades de la última voluntad en prop. QMqttLastWillProperties permite establecer características adicionales para el mensaje de última voluntad almacenado en el broker.

Nota: Las propiedades de conexión sólo se pueden establecer si el cliente MQTT está en el estado Disconnected.

Nota: QMqttLastWillProperties sólo puede utilizarse cuando el cliente especifica MQTT_5_0 como ProtocolVersion.

Véase también lastWillProperties().

void QMqttClient::setTransport(QIODevice *device, QMqttClient::TransportType transport)

Establece el transporte en device. Un transporte puede ser de tipo socket o derivado de QIODevice y se especifica en transport.

Nota: El transporte sólo se puede intercambiar si el cliente MQTT está en el estado Disconnected.

Nota: Establecer un transporte personalizado para un cliente no transfiere la responsabilidad sobre la gestión o propiedad de la conexión. El transporte debe estar abierto para los transportes basados en QIODevice o conectado para los transportes de tipo socket antes de llamar a QMqttClient::connectToHost().

Véase también transport().

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)

Añade una nueva suscripción para recibir notificaciones en topic. El parámetro qos especifica el nivel al que se reciben los mensajes de seguridad. Para obtener más información sobre los niveles de calidad de servicio disponibles, consulte Calidad de servicio.

Esta función devuelve un puntero a un QMqttSubscription. Si el mismo tema se suscribe dos veces, el valor de retorno apunta a la misma instancia de suscripción. El cliente MQTT es el propietario de la suscripción.

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)

Añade una nueva suscripción para recibir notificaciones en topic. El parámetro properties especifica propiedades adicionales de la suscripción que deben ser validadas por el broker. El parámetro qos especifica el nivel en el que se reciben los mensajes de seguridad. Para obtener más información sobre los niveles de calidad de servicio disponibles, consulte Calidad de servicio.

Esta función devuelve un puntero a un QMqttSubscription. Si el mismo tema se suscribe dos veces, el valor de retorno apunta a la misma instancia de suscripción. El cliente MQTT es el propietario de la suscripción.

Nota: properties sólo se pasará al agente cuando el cliente especifique MQTT_5_0 como ProtocolVersion.

QIODevice *QMqttClient::transport() const

Devuelve el transporte utilizado para la comunicación con el broker.

Véase también setTransport().

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic)

Se da de baja de topic. No se enviarán notificaciones a ninguna de las suscripciones realizadas llamando a subscribe().

Nota: Si un cliente se desconecta de un corredor sin darse de baja, el corredor almacenará todos los mensajes y los publicará en la siguiente reconexión.

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)

Se da de baja de topic. No se enviarán notificaciones a ninguna de las suscripciones realizadas llamando a subscribe(). properties especifica propiedades de usuario adicionales que se pasarán al corredor.

Nota: Si un cliente se desconecta de un broker sin darse de baja, el broker almacenará todos los mensajes y los publicará en la próxima reconexión.

Nota: properties sólo se pasará al broker cuando el cliente especifique MQTT_5_0 como ProtocolVersion.

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