Retain Handling и Retain As Published: два разных выбора

Retain Handling и Retain As Published: два разных выбораПоясняющая схема: Retain Handling; Retain As Published; RETAIN; подписке. Геометрия условная, без масштаба.Retain Handling и Retain As Published: два разных выбораRetain HandlingRetain As PublishedRETAINподпискеПоясняющая схема по материалу статьи. Геометрия условная.
Поясняющая схема. Геометрия условная, без масштаба.
Рассмотреть схему крупнее
Retain Handling и Retain As Published: два разных выбораПоясняющая схема: Retain Handling; Retain As Published; RETAIN; подписке. Геометрия условная, без масштаба.Retain Handling и Retain As Published: два разных выбораRetain HandlingRetain As PublishedRETAINподпискеПоясняющая схема по материалу статьи. Геометрия условная.

После изменения подписки приложение либо перестало получать начальное состояние датчика, либо стало иначе видеть флаг RETAIN. Эти симптомы относятся к разным настройкам MQTT5. Чтобы не чинить одно другим, нужно отдельно проверить выдачу сохранённого состояния при подписке и представление последующих публикаций.

Записать ожидаемые события

MQTT5 определяет Retain Handling и Retain As Published как отдельные параметры подписки. (OASIS — MQTT Version5.0, Standard2019-03-07) В контракте приложения сначала опишите нужное поведение без номеров битов: требуется ли начальное состояние и как потребитель интерпретирует флаг. Затем сопоставьте это с поддерживаемыми опциями своей библиотеки.

Не выводите свежесть измерения только из RETAIN. Даже корректно переданное сохранённое состояние может быть старым по времени физического события. Приложение должно сохранять возраст и качество значения независимо от способа его первоначального получения после подключения.

Подготовить две контрольные публикации

На учебной теме заранее создайте различимое retained значение. После установления подписки отправьте новое сообщение с другим прикладным номером и известным флагом. Так можно отдельно увидеть начальную выдачу и дальнейшую пересылку, не смешивая их в одном счётчике полученных событий.

Для каждого опыта сохраните фактические параметры подписки. Проверьте варианты, которые действительно нужны приложению, включая повторную установку уже существующей подписки. Не предполагайте, что новый сетевой connect обязательно означает новую подписку: поведение зависит также от состояния сеанса.

Сравнить флаг и содержимое

В журнале записывайте тему, прикладной номер, время измерения и доступный RETAIN. Сопоставляйте результат с конкретным вариантом опций. Программа, которая скрывает флаг в своём интерфейсе, требует другого поддерживаемого способа наблюдения; отсутствие поля нельзя принимать за нулевое значение.

Проверьте, не создаёт ли приложение повторную историю измерения при каждом получении начального состояния. Повторная доставка известного значения новому сеансу просмотра не обязательно является новым физическим измерением. Правило архива должно учитывать исходную идентичность и время события.

Подтвердить восстановление интерфейса

Воспроизведите штатное переподключение потребителя и проверьте ожидаемый стартовый экран. Если начальная выдача отключена, интерфейс должен честно показывать отсутствие полученного состояния до нового события. Он не должен незаметно использовать старый локальный кэш как подтверждённую актуальную запись.

Приёмка фиксирует матрицу нужных вариантов и результаты двух типов публикаций. После обновления клиента повторите эти короткие опыты. Такой порядок позволяет хозяйству управлять стартовым состоянием и признаками доставки осознанно, не смешивая разные параметры подписки и не превращая один транспортный флаг в универсальный показатель свежести полевого измерения.

Запросить

Запросы отправляются на наш e-mail из вашей почтовой программы.

Флаг России Флаг Казахстана
office@omegasolutions.ru

Все запросы только на email