Zachary唷 发表于 2023-7-9 14:05:32

LWIP read/recv函数读取问题

坛友们,硬汉老哥,LWIP使用Socket方式写的服务器程序,发现 rd_num = read( clientfd1, tcp_svr1_rd, 4096 ); 函数单次最大只能返回1460字节数据,recv函数也是如此。
如果我要接受2000个字节的话,是不是就要自己写一个read函数,并且不能是阻塞接收,然后接收全了再返回?

eric2013 发表于 2023-7-10 08:37:45

程序是不是没有使能自动分包处理,BSD Socket函数没有这种限制的。



Zachary唷 发表于 2023-7-10 09:35:27

eric2013 发表于 2023-7-10 08:37
程序是不是没有使能自动分包处理,BSD Socket函数没有这种限制的。

好的,我再研究研究。

Zachary唷 发表于 2023-7-10 16:35:07

lwip程序自动分包处理,有相关宏吗?我好像没有找到.
我使用setsockopt函数设置了接收缓冲区大小,发现好像并没有什么用。
int buffer_len = 8192;
setoptret = setsockopt( clientfd, SOL_SOCKET, SO_RCVBUF, ( void * )&buffer_len, sizeof( int) );

eric2013 发表于 2023-7-11 09:18:43

Zachary唷 发表于 2023-7-10 16:35
lwip程序自动分包处理,有相关宏吗?我好像没有找到.
我使用setsockopt函数设置了接收缓冲区大小,发现好像 ...
类似这种的,你在lwip你们找下




页: [1]
查看完整版本: LWIP read/recv函数读取问题