У меня такое ощущение, что мой клиент не устанавливает флаг «сохранить» сообщение. Можно ли как-то получить список сохраненных сообщений в брокере Mosquitto MQTT? Как?
Получить список сохраненных сообщений
Ответы (1)
Когда сообщение получено клиентом, в его заголовке будет установлен сохраненный бит, поэтому вы должны иметь возможность проверить с любого клиента, как вы это сделаете, будет зависеть от используемой вами клиентской библиотеки.
В зависимости от того, с какой скоростью клиент публикует сообщения (например, между сообщениями достаточно большой промежуток), вы можете просто использовать команду mosquitto_sub
для проверки. Если вы знаете, когда клиент в последний раз публиковался, просто подождите, а затем подпишитесь с помощью инструмента командной строки, если он немедленно печатает сообщение, значит, оно было сохранено.
Другой вариант — изучить базу данных устойчивости комаров, включенную в исходный код в src/db_dump
каталог есть инструмент для просмотра содержимого базы данных. Сохраненные сообщения должны быть записаны в базу данных, что позволит вам проверить. Я не думаю, что этот инструмент собран и включен в какой-либо из бинарных установочных пакетов, поэтому вам придется создавать его самостоятельно.