接前一篇文章:ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(7)
前边几回分析了笔者在MQTT测试时所遇到的问题:
最终定位到了是由于components\components\tcp_transport\transport_ssl.c的base_poll_write函数中调用的select函数超时返回0所导致。但是究竟是哪里引发的超时,并没有弄清楚。可能是代码逻辑问题,也可能是MQTT服务器问题,还可能是ESP32-C3 Wi-Fi模块所连接的路由器的问题。那么应该如何继续定位?笔者决定再多试试,搜集更多的线索,之后看看能否更精准地定位到问题的根源。
后经笔者反复测试,又出现了MQTT瞬间断线重连的问题,但这次的log有所不同,如下所示:
[0m
[0;31mE (2452160) mqtt_client: No PING_RESP, disconnected[0m
[0;32mI (2452160) Wi-Fi Module: MQTT_EVENT_DISCONNECTED[0m
[0;32mI (2467160) Wi-Fi Module: Other ev