Как узнать, что удаленное устройство подключено через mqtt

97
10

Как узнать, что удаленное устройство находится в режиме онлайн с помощью mqtt (в качестве симулятора устройства я использую MQTTfx). После публикации в теме я не получаю никакого сообщения о подтверждении и в обратных вызовах получаю те же самые данные полезной нагрузки, которые публикуются.

спросил(а) 2021-01-19T20:32:17+03:00 2 месяца, 3 недели назад
1
Решение
122

Вы не можете узнать, что другой клиент MQTT находится в режиме онлайн на уровне протокола, фактически на уровне шаблона Pub/Sub, который не должен заботиться клиенту публикации, равно 0 или бесконечное количество других клиентов подписывается на тему,,

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

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

ответил(а) 2021-01-19T20:32:17+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема