乐鑫的工程师,你好:
最近在使用NONOS_SDK_V2.0.0版本时出现了这样的问题:
当未设置ESPCONN_COPY时,使用不判断回调函数时,espconn_send发送数据时会出现-7的错误,这个没有任何问题,因为底层包没有将数据发完。
但是当设置ESPCONN_COPY时,espconn_send连接发送时,会明显提高发送的数据流畅性和速度,这个很好。同时也出现了一个问题,在函数连接发送错误时,TCP链路发送将不再能发送,而且也无法恢复到可发送。但是有时又在这个时候能出现TCP接收的回调函数是可以接收到的数据的。我试图用发送回调函数中作一些处理,使底层内存块可以减少冲击,但是高速发送的过程中,会出现发送成功的回调函数都无法成功。请问在这些问题下我需要如何处理,比如我要最快速度的完成一个1M文件的发送和接收。谢谢。
关于TCP方式高速使用espconn_send的问题
Re: 关于TCP方式高速使用espconn_send的问题
Postby kismet » Wed Apr 19, 2017 9:02 pm
您好,我想请问一下,使用ESP8266告诉发包的方法。
假如我想发送一个300KB的文件,使用espconn_send()来传输,因为SRAM只有那么大,所以分配了4KB作为缓冲区,每次用espconn_send()发送4KB的数据。
发送成功一次就会进入一次回调函数,这样就跳出了发包的那个函数,无法重进。不知道您对于这种是如何处理大的?(我目前是采用的定时器,定时回调重进发包函数)
但是这种方法有个很严重的问题,就是多次使用espconn_send()后,会出现某些包并未发送成功。
如每500ms 上传4KB数据,多次后,就会偶尔出现一包出错。
经过反复测试发现,就算延长等待时间,调成每5s上传4KB数据,依旧存在上述出错的问题!!
请问,您有没有什么好的方法处理这种大文件高速传输?
假如我想发送一个300KB的文件,使用espconn_send()来传输,因为SRAM只有那么大,所以分配了4KB作为缓冲区,每次用espconn_send()发送4KB的数据。
发送成功一次就会进入一次回调函数,这样就跳出了发包的那个函数,无法重进。不知道您对于这种是如何处理大的?(我目前是采用的定时器,定时回调重进发包函数)
但是这种方法有个很严重的问题,就是多次使用espconn_send()后,会出现某些包并未发送成功。
如每500ms 上传4KB数据,多次后,就会偶尔出现一包出错。
经过反复测试发现,就算延长等待时间,调成每5s上传4KB数据,依旧存在上述出错的问题!!
请问,您有没有什么好的方法处理这种大文件高速传输?
Who is online
Users browsing this forum: No registered users and 60 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.