我正在使用 esp_http_client_perform() 使用 https 流(文本/事件流)。如果有恒定的数据流(我正在事件处理程序中处理数据),它就可以正常工作。但是如果20分钟左右没有消息,数据就不会再处理了,连接好像挂了。
这是我的配置:
代码:
全选
esp_http_client_config_t http_config = {
.
timeout_ms = -1, // seems to disable the tcp timeout
.keep_alive_enable = true,
.keep_alive_idle = 10,
.keep_alive_interval = 10,
.keep_alive_count = 2,
.transport_type = HTTP_TRANSPORT_OVER_SSL,
.method = HTTP_METHOD_GET,
};
我试图通过激活 mbedtls 和 lwip ip 日志来查找错误消息,但他们似乎没有注意到连接断开。
来自 lwip 的最后一条消息指出它正在使用 lwip_select() 我错过了超时或相关的东西吗?
有人可以给我提示如何解决这个问题或进一步的调试步骤吗?