MQTT c # пример. Абонент не получает опубликованные сообщения

0
задан Learner 24 March 2019 в 06:35
поделиться

1 ответ

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

Это разъединение означает, что никогда не бывает окна, в течение которого клиент подписывается на тему, а другой (или тот же) клиент публикует эту тему. Это можно исправить, подключившись один раз в конструкторе Form и используя то же соединение MQTT в вашем приложении. Это будет означать удаление следующих двух строк из обоих обработчиков щелчков:

client = new MqttClient("broker.hivemq.com");
byte code = client.Connect("lenovofullondude");

Можно ли создать два разных приложения. И второе приложение получит сообщение по этой теме (поскольку он подписчик)

Да. Но обоим приложениям понадобятся разные идентификаторы клиентов во время соединения MQTT.

0
ответ дан blt 24 March 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: