10 W801 WIFI及MQTT长时间链接后出现TCP关闭,重连wifi也失败,只能通过重启设备才能正常运行

发布于 2022-05-10 14:06:41

【情况补充】:
测试后找到断点socket读取数据显示ERR_CLSD,也就是socket关闭,然后重启mqtt客户端能重新建立,但是一读数据就秒断。
【问题】
使用W801的MQTTdemo向阿里云以及Thingsboard传输数据,连接3个半小时后,出现mqtt stop排查对应错误码为TCP连接断开,测试了多次,均出现这种情况。
具体测试情形如下:
1.只上传数据,不接受阿里云下行数据,9个小时后中断
2.每5s上传数据,每7s读取packet下行指令,3个小时后中断
3.循环读取packet下行指令,每5s上传数据,1个半小时后中断
【推测原因】
1.wifi链接有问题,长时间链接后自动关闭
2.SDK WIFI相关某个位置内存泄漏导致堆栈溢出使得WIFI链接不正常 重连也失败
【问题截图】
2.png
3.png
4.png
5.png
6.png

查看更多

关注者
0
被浏览
2.5k
2 个回答
ldd200888
ldd200888 2022-05-12
这家伙很懒,什么也没写!

Esp32 也有这样的问题

SK2024
SK2024 2022-05-12
这家伙很懒,什么也没写!

找到问题原因了,使用cJSON库的cJSON_Print函数将Json体转化为字符串时,会开辟内存,使用后需要使用cJSON_free函数进行内存释放,否则循环次数多了之后,会导致内存泄漏。我的原因是这样。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览