在过去的一个月中,我一直在研究两个MQTT客户端,它们将通过CloudMQTT代理相互通信。
客户端使用DAQIO LabVIEW MQTT库(在https://github.com/DAQIO/LVMQTT处找到)。基本操作是一个客户端(LaptopClient)将命令发布到另一个客户端(USBClient),后者将读取命令,执行操作并将消息发布回原始位置。
当USBClient无法读取命令时,会出现问题。当USBClient初始化并等待LaptopClient发送命令,并且LaptopClient发送命令时,USBClient的“读取已订阅主题”功能将显示错误66,表示连接已关闭。
我尝试过的事情:
这不会导致任何错误,但是我不能将本地代理用于最终产品,因为我将无法通过无线网络从另一台计算机进行连接。
这不会导致任何错误,USBClient能够读取命令并发布确认。
这不会导致任何错误,LaptopClient能够成功发布命令。
我尝试了此操作,因为我认为网络可能存在问题。结果为错误代码1,该错误代码指出输入参数无效。但是,唯一的输入参数是连接ID。
我试图这样做来消除库的问题。没有任何错误。
这对我来说没有意义,为什么它可以在本地经纪人处工作但不能在网上工作?
如您所见,读取订阅的主题后会发生错误。为什么在替换任何一个客户端时都可以使用?