Может ли клиент Mosquitto MQTT принудительно отключить другого?

10

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

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

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

Есть ли функция, которая отвечает таким требованиям?

Аврора0001
источник

Ответы:

8

Не напрямую.

Вы можете использовать плагин аутентификации, такой как mosquitto-auth-plug, чтобы динамически добавлять пользователей в список запрещенных, а затем принудительно отключать, подключаясь с дублирующимся идентификатором клиента.

ralight
источник