Рассматривая mqtt как средство публикации сообщений для клиентов браузера через веб-сокеты.
Скорее всего, данные будут выглядеть как объект JSON, чьи поля со временем меняют значения.Я хотел бы отправить только эти изменения, а не все состояние JSON с каждым сообщением.
Есть ли в протоколе встроенный способ (или какой-то другой обходной путь), который может позволить клиентам получатьполное состояние соединения, за которым следуют только дельта-сообщения?
Одним из возможных решений проблемы было бы сохранение полного состояния в отдельной теме с установленным флагом retain
, на который мы подпишемся сразу после установления соединенияс последующим удалением после получения сообщения.Но тогда мы все равно столкнулись бы с проблемой упорядочения сообщений - нет никакой гарантии, что сообщения по разностной теме следуют за последним состоянием в ожидаемом порядке.Плюс к этому накладные расходы на первоначальную подписку на 2 темы для каждой заинтересованной организации вместо одной.