LabVIEW MQTT:阅读订阅的主题时出现错误66

时间:2018-11-09 03:11:06

标签: mqtt labview

在过去的一个月中,我一直在研究两个MQTT客户端,它们将通过CloudMQTT代理相互通信。

客户端使用DAQIO LabVIEW MQTT库(在https://github.com/DAQIO/LVMQTT处找到)。基本操作是一个客户端(LaptopClient)将命令发布到另一个客户端(USBClient),后者将读取命令,执行操作并将消息发布回原始位置。

当USBClient无法读取命令时,会出现问题。当USBClient初始化并等待LaptopClient发送命令,并且LaptopClient发送命令时,USBClient的“读取已订阅主题”功能将显示错误66,表示连接已关闭。

我尝试过的事情:

  1. 使用本地代理代替CloudMQTT

这不会导致任何错误,但是我不能将本地代理用于最终产品,因为我将无法通过无线网络从另一台计算机进行连接。

  1. 用mosquitto_pub(隔离USBClient)替换LaptopClient的发布

这不会导致任何错误,USBClient能够读取命令并发布确认。

  1. 用mosquitto_sub(隔离LaptopClient)替换USBClient的订阅

这不会导致任何错误,LaptopClient能够成功发布命令。

  1. 连接到手机的移动热点

我尝试了此操作,因为我认为网络可能存在问题。结果为错误代码1,该错误代码指出输入参数无效。但是,唯一的输入参数是连接ID。

  1. 用DAQIO LabVIEW MQTT库提供的默认测试客户端替换LaptopClient

我试图这样做来消除库的问题。没有任何错误。

这对我来说没有意义,为什么它可以在本地经纪人处工作但不能在网上工作?

如您所见,读取订阅的主题后会发生错误。为什么在替换任何一个客户端时都可以使用?

0 个答案:

没有答案