硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1901|回复: 3
收起左侧

[uIP] uIP只能接收部分网络数据

[复制链接]

17

主题

32

回帖

83

积分

初级会员

积分
83
发表于 2020-5-19 09:14:42 | 显示全部楼层 |阅读模式
请教版主,采用F107,RTX+uIP的模式,调试的时候只有两个任务:
os_tsk_create_user(task_eth,1, stk_eth, sizeof(stk_eth));  //以太网
os_tsk_create_user(task_server, 2, stk_server, sizeof(stk_server));  //后台服务
其中        uIPMain() 在 task_eth任务里。task_server负责数据的解析与发送数据的打包。平台下发的数据有906字节,但是uIP接收的时候会分为两次接收,
uIP在配置的时候
#define UIP_CONF_BUFFER_SIZE     1520  为什么数据不能在一包里接收全部的数据呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2020-5-19 09:20:57 | 显示全部楼层
UIP好久不用都忘了了,uIP不好做稳定,推荐是还是用RL-TCPnet吧。
1、这个配置的多大
MTU : Maximum Transmission Unit in bytes

2、uIP应该有个大的缓冲的,加的足够大,整个10KB测
回复

使用道具 举报

17

主题

32

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2020-5-19 10:25:43 | 显示全部楼层
eric2013 发表于 2020-5-19 09:20
UIP好久不用都忘了了,uIP不好做稳定,推荐是还是用RL-TCPnet吧。
1、这个配置的多大
MTU : Maximum Tran ...

/**
* The TCP maximum segment size.
*
* This is should not be to set to more than
* UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.
*/
#define UIP_TCP_MSS     (UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN)
                                               1520                14                         40         


/**
* The size of the advertised receiver's window.
*
* Should be set low (i.e., to the size of the uip_buf buffer) is the
* application is slow to process incoming data, or high (32768 bytes)
* if the application processes data quickly.
*
* \hideinitializer
*/
#ifndef UIP_CONF_RECEIVE_WINDOW
#define UIP_RECEIVE_WINDOW UIP_TCP_MSS


在uippopt.h 中找到了UIP接收窗口的定义,但是大小都是足够的,还是出现两包接收的问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2020-5-19 12:00:40 | 显示全部楼层
鬼脚七 发表于 2020-5-19 10:25
/**
* The TCP maximum segment size.
*

估计就是这种处理方式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 23:30 , Processed in 0.160532 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表