Класс QMqttClient
Класс QMqttClient представляет центральный доступ к общению с MQTT-брокером. Подробнее...
| Заголовок: | #include <QMqttClient> |
| qmake: | QT += mqtt |
| Наследует: | QObject |
Общие типы
| перечисление | ClientError { NoError, InvalidProtocolVersion, IdRejected, ServerUnavailable, BadUsernameOrPassword, …, Mqtt5SpecificError } |
| перечисление | ClientState { Отключено, Подключение, Подключено } |
| перечисление | ProtocolVersion { MQTT_3_1, MQTT_3_1_1, MQTT_5_0 } |
| перечисление | TransportType { IODevice, AbstractSocket, SecureSocket } |
Свойства
|
|
Открытые функции
| 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 |
Открытые слоты
| void | установитьАвтоматическоеПоддержаниеСоединения(bool autoKeepAlive) |
| void | установитьЧистуюСессию(bool cleanSession) |
| void | установитьИдентификаторКлиента(const QString &clientId) |
| void | установитьОшибка(QMqttClient::ClientError error) |
| void | установитьИмяХоста(const QString &hostname) |
| void | установитьПоддержаниеСоединения(quint16 keepAlive) |
| void | установитьПароль(const QString &password) |
| void | установитьПорт(quint16 port) |
| void | установитьВерсиюПротокола(QMqttClient::ProtocolVersion protocolVersion) |
| void | установитьСостояние(QMqttClient::ClientState state) |
| void | установитьИмяПользователя(const QString &username) |
| void | установитьСообщениеWill(const QByteArray &willMessage) |
| void | установитьQoSДляWill(quint8 willQoS) |
| void | установитьСохранениеWill(bool willRetain) |
| void | установитьТемаWill(const QString &willTopic) |
Сигналы
| void | аутентификацияЗавершена(const QMqttAuthenticationProperties &p) |
| void | запросНаАутентификацию(const QMqttAuthenticationProperties &p) |
| void | изменилосьАвтоматическоеПоддержаниеСоединения(bool autoKeepAlive) |
| void | восстановленаСессияБрокера() |
| void | изменилосьЧистаяСессия(bool cleanSession) |
| void | изменилсяИдентификаторКлиента(QString clientId) |
| void | подключено() |
| void | отключено() |
| void | измениласьОшибка(QMqttClient::ClientError error) |
| void | изменилосьИмяХоста(QString hostname) |
| void | изменилосьПоддержаниеСоединения(quint16 keepAlive) |
| void | полученоСообщение(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName()) |
| void | отправленоСообщение(qint32 id) |
| void | изменилосьСостояниеСообщения(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties) |
| void | изменилсяПароль(QString password) |
| void | полученОтветPing() |
| void | изменилсяПорт(quint16 port) |
| void | измениласьВерсияПротокола(QMqttClient::ProtocolVersion protocolVersion) |
| void | изменилосьСостояние(QMqttClient::ClientState state) |
| void | изменилосьИмяПользователя(QString username) |
| void | изменилосьСообщениеWill(QByteArray willMessage) |
| void | изменилсяQoSДляWill(quint8 willQoS) |
| void | изменилосьСохранениеWill(bool willRetain) |
| void | измениласьТемаWill(QString willTopic) |
Подробное описание
Клиент MQTT — это программа или устройство, которое использует MQTT для создания сетевого подключения к серверу MQTT, также называемому брокером. Запрос на подключение должен содержать уникальный идентификатор клиента. По желанию, он может содержать тему Will, сообщение Will, имя пользователя и пароль.
После создания подключения клиент может отправлять сообщения, которые могут быть интересны другим клиентам, подписываться на получение уведомлений о темах, отписываться для удаления запроса на уведомления и отключаться от брокера.
Документация типов членов
перечисление QMqttClient::ClientError
Это перечисление определяет состояние ошибки клиента.
| Константа | Значение | Описание |
|---|---|---|
QMqttClient::NoError |
0 |
Ошибка не произошла. |
QMqttClient::InvalidProtocolVersion |
1 |
Брокер не принимает подключение с указанной версией протокола. |
QMqttClient::IdRejected |
2 |
Идентификатор клиента имеет неправильный формат. Это может быть связано с его длиной. |
QMqttClient::ServerUnavailable |
3 |
Сетевое соединение установлено, но служба недоступна на стороне брокера. |
QMqttClient::BadUsernameOrPassword |
4 |
Данные в имени пользователя или пароле имеют неправильный формат. |
QMqttClient::NotAuthorized |
5 |
Клиент не авторизован для подключения. |
QMqttClient::TransportInvalid |
256 |
Ошибка возникла в подлежащем транспорте. Например, соединение могло быть прервано неожиданно. |
QMqttClient::ProtocolViolation |
257 |
Клиент обнаружил нарушение протокола и, следовательно, закрыл соединение. |
QMqttClient::UnknownError |
258 |
Произошла неизвестная ошибка. |
QMqttClient::Mqtt5SpecificError |
259 |
Ошибка связана с протоколом MQTT уровня 5. Код причины может предоставить более подробную информацию. |
перечисление QMqttClient::ClientState
Это перечисление определяет состояния, в которые может переходить клиент.
| Постоянная | Значение | Описание |
|---|---|---|
QMqttClient::Disconnected |
0 |
Клиент отключен от брокера. |
QMqttClient::Connecting |
1 |
Запрос на подключение был отправлен, но брокер еще не одобрил соединение. |
QMqttClient::Connected |
2 |
Клиент подключен к брокеру. |
enum QMqttClient::ProtocolVersion
Этот перечисление определяет версию протокола MQTT, используемую при общении с брокером.
| Постоянная | Значение | Описание |
|---|---|---|
QMqttClient::MQTT_3_1 |
3 |
MQTT Стандарт 3.1 |
QMqttClient::MQTT_3_1_1 |
4 |
MQTT Стандарт 3.1.1, публично известный как версия 4 |
QMqttClient::MQTT_5_0 |
5 |
MQTT Стандарт 5.0 |
enum QMqttClient::TransportType
Этот тип перечисления указывает метод подключения, используемый для создания соединения с брокером.
| Постоянная | Значение | Описание |
|---|---|---|
QMqttClient::IODevice |
0 |
Транспорт использует класс, базирующийся на QIODevice. |
QMqttClient::AbstractSocket |
1 |
Транспорт использует класс, базирующийся на QAbstractSocket. |
QMqttClient::SecureSocket |
2 |
Транспорт использует класс, базирующийся на QSslSocket. |
Свойства
[since 5.14] autoKeepAlive : bool
Это свойство определяет, будет ли клиент автоматически управлять сообщениями keep alive на сервер.
Если это свойство установлено в true, то клиент будет автоматически отправлять сообщение ping на сервер с интервалом keepAlive.
В противном случае пользователь должен будет вручную вызывать requestPing в течение указанного интервала соединения. Если ping не был отправлен в течение интервала, сервер разорвет соединение.
Значение этого свойства по умолчанию — true.
Это свойство было добавлено в Qt 5.14.
Функции доступа:
| bool | autoKeepAlive() const |
| void | setAutoKeepAlive(bool autoKeepAlive) |
Сигнал уведомления:
| void | autoKeepAliveChanged(bool autoKeepAlive) |
См. также keepAlive(), requestPing(), serverConnectionProperties(), и pingResponseReceived().
cleanSession : bool
Это свойство хранит состояние после подключения к брокеру.
Функции доступа:
| bool | cleanSession() const |
| void | setCleanSession(bool cleanSession) |
Сигнал уведомления:
| void | cleanSessionChanged(bool cleanSession) |
clientId : QString
Это свойство хранит идентификатор клиента.
Каждый клиент должен иметь уникальный ID, чтобы иметь возможность подключаться к MQTT-брокеру. Если ID клиента не указан пользователем, он будет сгенерирован автоматически при установлении соединения.
Функции доступа:
| QString | clientId() const |
| void | setClientId(const QString &clientId) |
Сигнал уведомления:
| void | clientIdChanged(QString clientId) |
error : ClientError
Указывает текущую ошибку клиента.
Функции доступа:
| QMqttClient::ClientError | error() const |
| void | setError(QMqttClient::ClientError error) |
Сигнал уведомления:
| void | errorChanged(QMqttClient::ClientError error) |
hostname : QString
Это свойство хранит имя хоста MQTT-брокера для подключения.
Если транспорт не указан через setTransport(), клиент сам создаст сокетное соединение с указанным именем хоста.
Функции доступа:
| QString | hostname() const |
| void | setHostname(const QString &hostname) |
Сигнал уведомления:
| void | hostnameChanged(QString hostname) |
keepAlive : quint16
Это свойство хранит интервал, с которым отправляются регулярные сообщения ping на брокер.
После установления соединения с брокером клиент должен отправлять частые обновления, чтобы подтвердить свою доступность. Интервал между этими обновлениями задается этим свойством.
Интервал указывается в секундах.
Если брокер не отвечает в течение льготного периода, соединение будет закрыто.
Функции доступа:
| quint16 | keepAlive() const |
| void | setKeepAlive(quint16 keepAlive) |
Сигнал уведомления:
| void | keepAliveChanged(quint16 keepAlive) |
См. также autoKeepAlive(), requestPing(), и pingResponseReceived().
password : QString
Это свойство хранит пароль для подключения к брокеру.
Функции доступа:
| QString | password() const |
| void | setPassword(const QString &password) |
Сигнал уведомления:
| void | passwordChanged(QString password) |
port : quint16
Это свойство хранит порт для подключения к MQTT-брокеру.
Если транспорт не указан через setTransport(), клиент создаст сокетное соединение с хостом, используя этот номер порта.
Функции доступа:
| quint16 | port() const |
| void | setPort(quint16 port) |
Сигнал уведомления:
| void | portChanged(quint16 port) |
protocolVersion : ProtocolVersion
Это свойство хранит версию стандарта MQTT, используемую для соединений.
Указывает версию стандарта, используемую клиентом для подключения к брокеру. Допустимые значения:
- 3: версия стандарта MQTT 3.1.
- 4: версия стандарта MQTT 3.1.1, часто называемая MQTT 4.
Функции доступа:
| QMqttClient::ProtocolVersion | protocolVersion() const |
| void | setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion) |
Сигнал уведомления:
| void | protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion) |
state : ClientState
Это свойство хранит текущее состояние клиента.
Функции доступа:
| QMqttClient::ClientState | state() const |
| void | setState(QMqttClient::ClientState state) |
Сигнал уведомления:
| void | stateChanged(QMqttClient::ClientState state) |
username : QString
Это свойство хранит имя пользователя для подключения к брокеру.
Функции доступа:
| QString | username() const |
| void | setUsername(const QString &username) |
Сигнал уведомления:
| void | usernameChanged(QString username) |
willMessage : QByteArray
Это свойство содержит полезную нагрузку сообщения Will.
Функции доступа:
| QByteArray | willMessage() const |
| void | setWillMessage(const QByteArray &willMessage) |
Сигнал уведомления:
| void | willMessageChanged(QByteArray willMessage) |
willQoS : quint8
Это свойство содержит уровень QoS для отправки и хранения сообщения Will.
Функции доступа:
| quint8 | willQoS() const |
| void | setWillQoS(quint8 willQoS) |
Сигнал уведомления:
| void | willQoSChanged(quint8 willQoS) |
willRetain : bool
Это свойство указывает, должно ли сообщение Will храниться на брокере для получения будущими подписчиками.
Функции доступа:
| bool | willRetain() const |
| void | setWillRetain(bool willRetain) |
Сигнал уведомления:
| void | willRetainChanged(bool willRetain) |
willTopic : QString
Это свойство содержит тему Will.
Функции доступа:
| QString | willTopic() const |
| void | setWillTopic(const QString &willTopic) |
Сигнал уведомления:
| void | willTopicChanged(QString willTopic) |
Документация по функциям-членам
[signal, since 5.12] void QMqttClient::authenticationFinished(const QMqttAuthenticationProperties &p)
Этот сигнал испускается после завершения расширенной аутентификации. p указывает доступные подробности процесса аутентификации.
После успешной аутентификации испускается QMqttClient::connected.
Примечание: Расширенная аутентификация является частью стандарта MQTT 5.0 и может использоваться только в том случае, если клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также authenticationRequested() и authenticate().
[signal, since 5.12] void QMqttClient::authenticationRequested(const QMqttAuthenticationProperties &p)
Этот сигнал испускается после того, как клиент вызвал QMqttClient::connectToHost или QMqttClient::connectToHostEncrypted и перед установлением соединения. При расширенной аутентификации брокер может запросить дополнительную информацию, которую необходимо предоставить, вызвав QMqttClient::authenticate. p указывает свойства, предоставленные брокером.
Примечание: Расширенная аутентификация является частью стандарта MQTT 5.0 и может использоваться только в том случае, если клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также authenticationFinished() и authenticate().
[signal] void QMqttClient::brokerSessionRestored()
Этот сигнал испускается после того, как клиент успешно подключился к брокерам с свойством cleanSession, установленным в false, и брокер восстановил сеанс.
Сессии могут быть восстановлены, если клиент ранее подключался с тем же clientId.
[signal] void QMqttClient::connected()
Этот сигнал испускается при установлении соединения.
[signal] void QMqttClient::disconnected()
Этот сигнал испускается при закрытии соединения. Соединение может быть закрыто при вызове disconnectFromHost() или при отключении брокера.
[signal] void QMqttClient::messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())
Этот сигнал испускается при получении нового сообщения. Категория сообщения задаётся параметром topic, а содержимое — message.
[signal] void QMqttClient::messageSent(qint32 id)
Указывает, что сообщение, отправленное функцией publish(), было получено брокером. Параметр id совпадает с возвращаемым значением publish() для отслеживания состояния сообщения.
[signal, since 5.12] void QMqttClient::messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)
Этот сигнал испускается при изменении состояния сообщения, идентифицированного значением id. s определяет новое состояние сообщения, а properties — дополнительные свойства, предоставленные сервером.
Эта функция была добавлена в Qt 5.12.
[signal] void QMqttClient::pingResponseReceived()
Этот сигнал испускается после того, как брокер отвечает на вызов requestPing() или сообщение ping keepAlive(), и соединение по-прежнему валидно.
[override virtual] QMqttClient::~QMqttClient()
Удаляет клиент MQTT. Если клиент MQTT ещё не отключён от брокера MQTT, он будет отключён автоматически.
[since 5.12] void QMqttClient::authenticate(const QMqttAuthenticationProperties &prop)
Отправляет запрос на аутентификацию на брокер. prop указывает необходимую информацию для выполнения запроса на аутентификацию.
Эта функция должна вызываться только после испускания сигнала QMqttClient::authenticationRequested.
Примечание: Расширенная аутентификация является частью стандарта MQTT 5.0 и может использоваться только в том случае, если клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также authenticationRequested() и authenticationFinished().
[invokable] void QMqttClient::connectToHost()
Инициализирует подключение к MQTT-брокерам.
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[since 5.14] void QMqttClient::connectToHostEncrypted(const QSslConfiguration &conf)
Инициализирует зашифрованное подключение к MQTT-брокерам.
conf указывает конфигурацию SSL, которая будет использоваться для подключения.
Эта функция была добавлена в Qt 5.14.
[since 5.12] QMqttConnectionProperties QMqttClient::connectionProperties() const
Возвращает свойства подключения, запрашиваемые клиентом у брокера.
Примечание: QMqttConnectionProperties может быть использовано только тогда, когда клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также setConnectionProperties().
[invokable] void QMqttClient::disconnectFromHost()
Отключается от брокера MQTT.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[since 5.12] QMqttLastWillProperties QMqttClient::lastWillProperties() const
Возвращает свойства последнего сообщения.
Примечание: QMqttLastWillProperties может быть использовано только тогда, когда клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также setLastWillProperties().
[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
Опубликовывает message на брокер с заданной topic. qos определяет уровень QoS, необходимый для передачи сообщения.
Если retain установлено в true, сообщение останется на брокере для подключения других клиентов и получения сообщения.
Возвращает идентификатор, используемый для внутреннего определения сообщения.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable, since 5.12] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
Опубликовывает message на брокер с указанными properties и topic. qos определяет уровень QoS, необходимый для передачи сообщения.
Если retain установлено в true, сообщение останется на брокере для подключения других клиентов и получения сообщения.
Возвращает идентификатор, используемый для внутреннего определения сообщения.
Примечание: properties будут переданы на брокер только тогда, когда клиент укажет MQTT_5_0 в качестве ProtocolVersion.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Эта функция была добавлена в Qt 5.12.
bool QMqttClient::requestPing()
Отправляет сообщение ping на брокер и ожидает ответ.
Если соединение активно и autoKeepAlive установлено в true, вызов этой функции завершится ошибкой, так как клиент отвечает за управление этим процессом.
Использование requestPing() вручную требует вызова каждый раз в течение интервала keepAlive, пока соединение активно.
Для проверки успешности ping, подключитесь к сигналу pingResponseReceived().
Возвращает true если запрос ping был отправлен.
См. также pingResponseReceived(), autoKeepAlive(), и keepAlive().
[since 5.12] QMqttServerConnectionProperties QMqttClient::serverConnectionProperties() const
Возвращает QMqttServerConnectionProperties, возвращенные брокером после попытки подключения.
Это можно использовать для проверки того, что свойства подключения со стороны клиента, установленные с помощью QMqttClient::setConnectionProperties, были приняты брокером. Также в случае неудачной попытки подключения, это можно использовать для диагностики подключения.
Примечание: QMqttServerConnectionProperties может быть использовано только тогда, когда клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также connectionProperties().
[since 5.12] void QMqttClient::setConnectionProperties(const QMqttConnectionProperties &prop)
Устанавливает свойства подключения в prop. QMqttConnectionProperties могут быть использованы для запроса у сервера использования набора определённых функций. После запроса соединения ответ сервера можно получить, вызвав QMqttClient::serverConnectionProperties.
Примечание: Свойства соединения могут быть установлены только если MQTT клиент находится в состоянии Disconnected.
Примечание: QMqttConnectionProperties может быть использовано только тогда, когда клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также connectionProperties().
[since 5.12] void QMqttClient::setLastWillProperties(const QMqttLastWillProperties &prop)
Устанавливает свойства последнего сообщения в prop. QMqttLastWillProperties позволяет установить дополнительные возможности для сообщения последнего сообщения, хранящегося на брокере.
Примечание: Свойства соединения могут быть установлены только если MQTT клиент находится в состоянии Disconnected.
Примечание: QMqttLastWillProperties может быть использовано только тогда, когда клиент указывает MQTT_5_0 в качестве ProtocolVersion.
Эта функция была добавлена в Qt 5.12.
См. также lastWillProperties().
void QMqttClient::setTransport(QIODevice *device, QMqttClient::TransportType transport)
Устанавливает транспорт в device. Транспорт может быть либо типа сокета, либо производным от QIODevice, и задаётся параметром transport.
Примечание: Транспорт может быть изменён только если MQTT клиент находится в состоянии Disconnected.
Примечание: Установка пользовательского транспорта для клиента не перекладывает ответственность за управление соединением. Транспорт должен быть открыт для транспортов на основе QIODevice или подключён для транспортов типа сокета перед вызовом QMqttClient::connectToHost().
См. также transport().
QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)
Добавляет новую подписку для получения уведомлений по topic. Параметр qos определяет уровень, на котором получаются сообщения о безопасности. Подробнее о доступных уровнях QoS см. Уровни качества обслуживания.
Функция возвращает указатель на QMqttSubscription. Если тема подписывается дважды, возвращаемое значение указывает на тот же экземпляр подписки. MQTT клиент является владельцем подписки.
[since 5.12] QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)
Добавляет новую подписку для получения уведомлений по topic. Параметр properties определяет дополнительные свойства подписки, которые должны быть проверены брокером. Параметр qos определяет уровень, на котором получаются сообщения о безопасности. Подробнее о доступных уровнях QoS см. Уровни качества обслуживания.
Функция возвращает указатель на QMqttSubscription. Если тема подписывается дважды, возвращаемое значение указывает на тот же экземпляр подписки. MQTT клиент является владельцем подписки.
Примечание: properties будут переданы на брокер только тогда, когда клиент укажет MQTT_5_0 в качестве ProtocolVersion.
Эта функция была представлена в Qt 5.12.
QIODevice *QMqttClient::transport() const
Возвращает транспорт, используемый для связи с брокером.
См. также setTransport().
void QMqttClient::unsubscribe(const QMqttTopicFilter &topic)
Отписывается от topic. Никакие уведомления не будут отправлены по подпискам, сделанным с помощью вызова subscribe().
Примечание: Если клиент отключается от брокера без отписки, брокер сохранит все сообщения и опубликует их при следующей попытке подключения.
[since 5.12] void QMqttClient::unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)
Отписывается от topic. Никакие уведомления не будут отправлены по подпискам, сделанным с помощью вызова subscribe(). properties указывает дополнительные пользовательские свойства, которые должны быть переданы брокерам.
Примечание: properties будут переданы брокерам только тогда, когда клиент укажет MQTT_5_0 в качестве ProtocolVersion.
Примечание: Если клиент отключается от брокера без отписки, брокер сохранит все сообщения и опубликует их при следующей попытке подключения.
Эта функция была представлена в Qt 5.12.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmqttclient.html