Mqtt, когда я публикую первое сообщение, оно не остается в очереди
Я публикую сообщение, оно не остается в очереди. После подписки очередь сообщений начинает оставаться. Я хочу сохранить сообщение в очереди, даже если пользователь вообще не подписан. Я использую qos = 1.
1 ответ
Решение
Важно помнить, что MQTT - это система Pub/Sub, а не система очереди сообщений.
С сообщениями MQTT будут ставиться в очередь только для автономных клиентов, которые уже имеют подписку (в QOS 1 или 2), новый клиент, подписавшийся на тему, будет получать только новые сообщения.
Вы можете использовать сохраненный флаг, чтобы гарантировать, что последнее сообщение (с установленным сохраненным флагом) всегда доставляется клиенту, когда он подписывается на тему перед новыми сообщениями, но это одно сообщение.