2016-08-22 3 views
0

У меня есть сценарий, в котором отправитель отправляет сообщение по теме. Но есть клиент, который никогда ранее не подключался, подключился и подписался на ту же тему. Как он может получить все сообщения, ранее представленные в этой теме для вновь подключенного клиента.Сообщения в Mqtt Android

Я использовал cleanSession = ложь ничего не происходит

Я использовал Нераспределенная сообщение = верно. Затем возвращается только последнее сообщение.

ответ

0

Короткий ответ: вы не можете.

Брокер будет отправлять сообщения только в очередь для клиентов, у которых уже есть сеансы (вошел хотя бы один раз с cleanSession = false).

Сохраненные сообщения содержат только последнее сообщение, отправленное на эту тему.

Если вы хотите исторические сообщения, как вы описали, то вам нужно будет хранить их в базе данных и запросить их с помощью другого механизма (например, HTTP)

0

Брокерома магазина последний сохранил сообщение и соответствующие QoS для этого тема. Каждый клиент, который подписывается на шаблон темы, который соответствует теме сохраненного сообщения, получит сообщение сразу после подписки.

Для каждой темы брокер будет хранить только одно сохраненное сообщение. Таким образом, вы не можете получить все сохраненные сообщения

Смежные вопросы