LabVIEW MQTT: ошибка 66 при чтении подписанных тем - PullRequest
0 голосов
/ 09 ноября 2018

В течение последнего месяца я работал с двумя клиентами MQTT, которые будут общаться друг с другом через брокера CloudMQTT.

Клиенты используют библиотеку DAQIO LabVIEW MQTT (находится здесь https://github.com/DAQIO/LVMQTT).). Основная операция состоит в том, что один клиент (LaptopClient) публикует команды другому клиенту (USBClient), который будет читать команду, выполнять действие и опубликуйте сообщение обратно к источнику.

Проблема возникает, когда USBClient не может прочитать команду. Когда USBClient инициализируется и ожидает, пока LaptopClient отправит команду, а LaptopClient отправит команду, функция USBClient «читать подписанные темы» выдаст ошибку 66, сообщив, что соединение было закрыто.

Что я пробовал:

  1. Использование локального брокера вместо CloudMQTT

Это не привело к ошибке, но я не могу использовать локального брокера для конечного продукта, потому что я не смогу подключиться с другого компьютера по беспроводной сети.

  1. Замена публикации LaptopClient на mosquitto_pub (изолирование USBClient)

Это не привело к ошибке, USBClient смог прочитать команду и опубликовать подтверждение.

  1. Замена подписки USBClient на mosquitto_sub (изолирующая LaptopClient)

Это не привело к ошибке, LaptopClient смог успешно опубликовать команду.

  1. Подключение к мобильной точке доступа моего телефона

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

  1. Замена LaptopClient тестовым клиентом по умолчанию, предоставляемым библиотекой DAQIO LabVIEW MQTT

Я попробовал это, чтобы устранить проблемы с библиотекой. Это не привело к ошибке.

Это не имеет смысла для меня, почему он работает над локальным брокером, но не онлайн?

Как видите, ошибка возникает после прочтения подписанных тем. Почему это работает, когда любой из клиентов заменен?

...