#mosquitto
#mosquitto
Вопрос:
Мне нужно заблокировать или удалить тему из mosquitto broker.
Есть ли какой-либо способ удалить тему из брокера?
Ответ №1:
Как задано, ваш вопрос не имеет смысла. Темы на самом деле не существуют в брокере, существует список шаблонов тем, на которые подписан каждый клиент. Брокер сопоставляет поле темы во входящих опубликованных сообщениях с набором шаблонов каждого клиента (потому что можно подписаться на темы с подстановочными знаками), и если оно совпадает, то оно доставляет сообщение этому клиенту.
Другая возможная интерпретация вашего вопроса заключается в том, что вы хотите удалить сохраненное сообщение. Сохраненные сообщения хранятся брокером и доставляются каждому клиенту, который подписывается на соответствующий шаблон, когда они подписываются. Для этого вам необходимо опубликовать сообщение с нулевой полезной нагрузкой и сохраненным битом, установленным для соответствующей темы. С mosquitto_pub
вами это делается следующим образом:
mosquitto_pub -t foo/bar -r -n
-t
задает тему-r
устанавливает сохраненный бит-n
устанавливает нулевую полезную нагрузку
Если вы имеете в виду, как запретить пользователям публиковать или подписываться на темы, вам нужно посмотреть acl_file
раздел справочной страницы mosquitto.conf