ESP8266 TCP连续快速收发数据进入重连回调函数
-
- Posts: 9
- Joined: Wed Jul 08, 2015 11:34 pm
ESP8266 TCP连续快速收发数据进入重连回调函数
Postby clough2004 » Wed Aug 19, 2015 5:01 pm
我现在用ESP8266的SDK开发一个透传程序。当前只做客户端程序,服务器端用PC机模拟,现在的问题是不管是TCP接收还是发送操作,当数据量变大后,发送和接收的数据包速度变快后都容易出现TCP连接断开的情况,此时会进入重连回调函数。收发越快越容易出现这个问题。当前我使用的是1.2.0版的SDK。发送如果采用writefinish回调来触发下一次发送的话非常容易使连接进入重连状态,采用send回调相对来说发送过程稳定一些。请问这个ESP8266模块发送和接收数据量大时怎么对数据进行操作才能更稳定。
-
- Posts: 9
- Joined: Wed Jul 08, 2015 11:34 pm
Re: ESP8266 TCP连续快速收发数据进入重连回调函数
Postby clough2004 » Fri Aug 21, 2015 3:54 pm
flyfish wrote:你是怎样对串口操作的?可以考虑自己实现软件buffer试试;或者不向串口打印数据,只打印一下接收的数据长度 做下测试。
串口的tx和rx都开辟了很大的buffer做缓冲,同时在接收TCP数据包时也采用espconn_recv_hold进行了流控,没有发现buffer写满的情况。
-
- Posts: 9
- Joined: Wed Jul 08, 2015 11:34 pm
Re: ESP8266 TCP连续快速收发数据进入重连回调函数
Postby clough2004 » Tue Aug 25, 2015 6:09 pm
flyfish wrote:tx的buffer是怎样触发写入硬件fifo的?你可以试一下官方release的AT模块的透传功能,对比一下,看是自己实现代码的问题还是官方也有这问题?
也可以贴出代码看看
使用了串口SDK中的另外一层软件buffer。工作在硬件fifo上层,提供的buffer容量更大一些,当前测试这个buffer用着还是很稳定。
-
- Posts: 9
- Joined: Wed Jul 08, 2015 11:34 pm
Re: ESP8266 TCP连续快速收发数据进入重连回调函数
Postby clough2004 » Wed Aug 26, 2015 10:06 am
Espressif_Faye wrote:您好,
您可以尝试更新到 esp_iot_sdk_v1.3.0,在 user_init 中调用 espconn_tcp_set_max_retran(12);
再测试,看问题是否解决。
这是一个未公开的接口,用于将 TCP 重传次数设置为 12 次。
谢谢,这么设置之后确实重连次数明显减少,传输稳定多了。
Who is online
Users browsing this forum: No registered users and 48 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.