Lost data when TCP transfer a large amount of data

huafan
Posts: 32
Joined: Sun Mar 15, 2015 2:30 pm

Lost data when TCP transfer a large amount of data

Postby huafan » Wed Apr 29, 2015 2:37 pm

When TCP is used to transfer large amounts of data to find the data loss When the TCP mass data transmission the packet loss, wrong package.
The specific description of the situation
Use TCP to send 6KB data, every time 2K, delay 10MS to 6K, but the data received nearly 800 byte 0x0, and repeat the last data.


使用TCP传输大量数据的时候发现数据丢包
在TCP传输大量数据的时候出现了丢包,错包的情况。
具体情况描述:
使用TCP发送6KB的数据,每次发送2K,延时10MS,接受到6K,但是数据接收到了 近800 byte的 0x0, 和 重复上一次的数据。

ESP_Faye
Posts: 1641
Joined: Mon Oct 27, 2014 11:08 am

Re: Lost data when TCP transfer a large amount of data

Postby ESP_Faye » Wed Apr 29, 2015 2:51 pm

您好,

麻烦确认一下是 TCP 丢包 还是 UART 丢包?

UART 如果没有使用硬件流控,有可能丢包。TCP 不会丢包。

如果仍然有问题,麻烦提供测试代码以复现问题。

huafan
Posts: 32
Joined: Sun Mar 15, 2015 2:30 pm

Re: Lost data when TCP transfer a large amount of data

Postby huafan » Wed Apr 29, 2015 4:24 pm

Espressif_Faye wrote:您好,

麻烦确认一下是 TCP 丢包 还是 UART 丢包?

UART 如果没有使用硬件流控,有可能丢包。TCP 不会丢包。

如果仍然有问题,麻烦提供测试代码以复现问题。


您好,
是TCP传输数据丢包,不是 使用串口透传.
出现 错包(数据中没有0x0 但是接受到了大量的0x0),重包(接收的数据部分与上次末尾的部分重复).
附件太大,已发送邮件.

ESP_Faye
Posts: 1641
Joined: Mon Oct 27, 2014 11:08 am

Re: Lost data when TCP transfer a large amount of data

Postby ESP_Faye » Mon May 04, 2015 3:44 pm

您好,

请不要使用 timer 或者 while 不停调用 espconn_sent 发送数据

可以参考 http://bbs.espressif.com/viewtopic.php?f=21&t=320 使用

espconn_sent 需要在 sent callback 或者 write finish callback 中调用下一次发送。

Who is online

Users browsing this forum: No registered users and 10 guests