Mqttnet客户端发消息致订阅端崩溃及Pico W订阅异常求助
MQTT订阅端崩溃问题排查求助
使用Mqttnet官方客户端示例代码,对接hivemq.cloud免费私有集群的8883端口,同时通过HIVEMQ Web客户端监控消息,出现以下异常情况:
案例1:正常
- 在Visual Studio中启动Mqttnet订阅代码,等待消息
- 通过HIVEMQ Web客户端向主题发送消息
- Mqttnet订阅端正常接收消息,负载为Base64编码格式
案例2:正常
- 在Visual Studio中启动Mqttnet发布代码,发送消息
- .NET代码向HIVEMQ服务器8883端口发送消息
- HIVEMQ Web客户端可看到消息以明文形式到达
案例3:异常(.NET订阅端崩溃)
- 在Visual Studio中启动Mqttnet订阅代码,等待消息
- 在Visual Studio中启动另一个实例的Mqttnet发布代码
- .NET发布代码向HIVEMQ服务器8883端口发送消息
- HIVEMQ Web客户端可看到消息以明文形式到达
- Visual Studio中的Mqttnet订阅代码崩溃退出
已启用订阅代码的跟踪和数据包检查,仅显示断开连接日志:
[2023-03-10T21:34:19.5712988Z] [6] [MqttChannelAdapter] [Verbose]: TX (2 bytes) >>> PingReq IN: 0AA= [2023-03-10T21:34:19.6718628Z] [8] [MqttChannelAdapter] [Verbose]: RX (2 bytes) <<< PingResp >>> [2023-03-10T21:34:25.6594214Z] [8] [MqttClient] [Verbose]: Stopped sending keep alive packets. [2023-03-10T21:34:25.6598077Z] [8] [MqttClient] [Verbose]: Disconnecting [Timeout=00:01:40] [2023-03-10T21:34:25.6615719Z] [8] [MqttClient] [Verbose]: Disconnected from adapter. [2023-03-10T21:34:25.6635716Z] [8] [MqttClient] [Info]: Disconnected. [2023-03-10T21:34:25.6641304Z] [8] [MqttClient] [Verbose]: Stopped receiving packets.
案例4:异常(树莓派Pico W订阅端崩溃)
- 在Pico W上运行MicroPython订阅代码(umqtt.simple)
- 在Visual Studio中启动Mqttnet发布代码
- .NET发布代码向HIVEMQ服务器8883端口发送消息
- HIVEMQ Web客户端可看到消息以明文形式到达
- MicroPython代码崩溃,错误信息:
Traceback (most recent call last): File "<stdin>", line 65, in <module> File "/lib/umqtt/simple.py", line 204, in check_msg File "/lib/umqtt/simple.py", line 173, in wait_msg OSError: -1
案例5:正常(树莓派Pico W)
- 在Pico W上运行MicroPython订阅代码(umqtt.simple)
- 通过HIVEMQ Web客户端向主题发送消息"webclient test"
- MicroPython正常接收消息:
connected ip = 192.168.0.15 message: webclient test
无法定位问题根源,恳请MQTT专家提供排查思路或解决方案。
内容的提问来源于stack exchange,提问作者userb00
相关产品推荐
相关产品推荐

