NXP MCU 技术william hill官网
直播中

张娟

7年用户 2059经验值
私信 关注
[问答]

FreeRTOS-LWIP接收大数据失败的原因?

我正在使用 MK64FN1M0VMD12,并通过在 FreeRTOS 上运行的 LWIP 从服务器读取数据。
LWIP版本:2.2.0
FreeRTOS内核版本:10.2.0
服务器每隔一秒通过TCP向客户端发送数据。当数据以大约100bps的速率传输时,它可以长时间工作。
但是当速度大于200bps时就会超时,此时lwip_read会一直超时,重新连接TCP总是失败,直到你重启系统。
有时只能接收2000字节超时,有时能接收100000字节以上超时。
代码大致是这样的:
socket = socket(AF_INET, SOCK_STREAM, 0);
connect(socket, (struct sockaddr *)&addr, sizeof(struct sockaddr));
setsockopt(socket, SOL_SOCKET, SO_RCVtiMEO, &tv, sizeof(tv));

/* write to the server to request sending messages to client every second */
write(socket, buf, len);
/*  */
while(1)
{
        read(socket, buf, BUF_SIZE);
}问题最可能的原因是什么?

更多回帖

发帖
×
20
完善资料,
赚取积分