Новые возможности MQTT 5.0 | (1) Свойства и нагрузки

По сравнению с MQTT 3.1.1, протокол MQTT 5.0 добавляет множество свойств, которые распределяются в переменных заголовках и полезной нагрузке пакета.

Пакеты, несущие полезную нагрузку в протоколе MQTT 5.0, включают пакет CONNECT, пакет PUBLISH, пакет SUBSCRIBE, пакет SUBACK, пакет UNSUBSCRIBE и пакет UNSUBACK.

Полезная нагрузка пакета PUBLISH отвечает за хранение содержимого сообщения, которое совпадает с протоколом MQTT 3.1.1.

ПОДКЛЮЧИТЬ пакет

Новые свойства переменного заголовка пакета CONNECT:

1.jpg

В полезной нагрузке пакета CONNECT некоторые поля изменились, а Будет ли сообщение стал Will Payload. Свойства завещания добавляются в Payload для определения поведения сообщения завещания.

Новые свойства завещания:

2.jpg

КОННАК Пакет

Пакет CONNACK не имеет полезной нагрузки, а свойства, содержащиеся в заголовке переменной, следующие:

3.jpg

ПУБЛИКАЦИЯ Пакет

Свойства переменного заголовка сообщения PUBLISH:

ОПубликовать сообщение.jpg

PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK имеют следующие три свойства:

PUBACK, PUBREC, PUBREL, PUBCOMP, SUBACK, UNSUBACK message.jpg

Свойства сообщения SUBSCRIBE также существуют в заголовке переменной.

11.png

Полезная нагрузка в пакете SUBSCRIBE в MQTT 5.0 содержит Варианты подписки.

ПОДПИСАТЬСЯ на сообщение 2.jpg

Биты 0 и 1 параметров подписки указывают максимальное качество обслуживания. В этом поле указывается максимальный уровень QoS, который сервер может отправлять в сообщения клиентского приложения. Если значение QoS равно 3, возникает ошибка протокола.

Бит 2 опции подписки указывает на опцию No Local. Если значение равно 1, сообщение приложения не будет опубликовано издателю, подписавшемуся на тему публикации, и если для параметра установлено значение 1 в общая подпискабудет вызвана ошибка протокола.

Бит 3 параметра подписки указывает, что зарезервировано «Сохранить как опубликованное». Если значение равно 1, сервер должен установить флаг RETAIN пересылаемого сообщения таким же, как флаг RETAIN полученного пакета PUBLISH. Если значение равно 0, сервер должен установить флаг RETAIN пересылаемого сообщения в 0 независимо от значения флага RETAIN в полученном пакете PUBLISH.

Биты 4 и 5 параметра подписки указывают на сохранение обработки. Эта опция используется для управления отправкой сохраненного сообщения. Когда значение Retain Handling равно 0, сервер должен перенаправить сохраненное сообщение в раздел, соответствующий подписке. При значении 1, если подписка больше не существует, серверу необходимо переслать сохраненное сообщение в раздел, соответствующий подписке. Однако если подписка существует, сервер больше не может пересылать сохраненное сообщение. Если значение равно 2, сервер не пересылает сохраненное сообщение.

Биты 6 и 7 опции подписки зарезервированы для использования в будущем. Если какой-либо из зарезервированных битов полезной нагрузки не равен нулю, сервер рассматривает пакет как искаженный пакет.

Пакет ОТПИСКИ

Пакет UNSUBSCRIBE имеет только два свойства: длину свойства и пользовательское свойство.

Полезная нагрузка пакета UNSUBSCRIBE намного проще, чем полезная нагрузка SUBSCRIBE. Он содержит только список тематических фильтров и не содержит большого разнообразия вариантов подписки.

Сервер будет рассматривать пакет как искаженный пакет.

ОТКЛЮЧИТЬ ПАКЕТ (новый)

Пакет DISCONNECT — это новый пакет из MQTT 5.0. Его введение означает, что брокер mqtt имеет возможность активного отключения. Свойства пакета DISCONNECT:

Добавлено сообщение ОТКЛЮЧИТЬ.jpg

Первоначально опубликовано на

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *