Получить список сохраненных сообщений

У меня такое ощущение, что мой клиент не устанавливает флаг «сохранить» сообщение. Можно ли как-то получить список сохраненных сообщений в брокере Mosquitto MQTT? Как?


person vico    schedule 08.04.2020    source источник


Ответы (1)


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

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

Другой вариант — изучить базу данных устойчивости комаров, включенную в исходный код в src/db_dump каталог есть инструмент для просмотра содержимого базы данных. Сохраненные сообщения должны быть записаны в базу данных, что позволит вам проверить. Я не думаю, что этот инструмент собран и включен в какой-либо из бинарных установочных пакетов, поэтому вам придется создавать его самостоятельно.

person hardillb    schedule 08.04.2020