当前位置: 代码迷 >> 单片机 >> uIP上的UDP数据传输解决方案
  详细解决方案

uIP上的UDP数据传输解决方案

热度:93   发布时间:2016-04-28 15:22:29.0
uIP上的UDP数据传输
最近弄uIP上的UDP的数据传输!不知道有没有在这上面传输过大数据,我想用UDP给服务器每次发10K的数据!但是发送的数据量1.4K可以,再大的数据量接收端就收不到了!想问一下:上述情况是怎么回事?uIP上UDP每次传输的最大数据量能达到多少字节?

------解决方案--------------------
抓一下报看一下,是发送不出去 还是接受不过来。
发送不要太快。

------解决方案--------------------
先问一下在运行过程中,有没有报错。再确认1.4k后发送方没发还是接受方没收的问题。
------解决方案--------------------
这个需要分包发。

以太网包有一个上限,通常以太网包最大长度好像是1536个字节,去掉包头,大约也即你说的那么多,UDP不会自动拆包,因此只能上层拆包,TCP可以自动拆包,因此TCP可以一次发多于上面限制的字节的数据。

另外,如果你一端用到了计算机,还得注意一般计算机系统上的TCP/IP协议栈底层的UDP缓冲空间是有限的,你发的太多,系统层就直接给仍了,甚至不会给出通知消息。

因此建议你在UDP上加上自己的协议,分包发,并且注意分包的时间间隔。
------解决方案--------------------

------解决方案--------------------
超过1.4K收不到数据的三楼已经说了,数据包大小的是可以配置的,修改uipopt.h中的UIP_BUFSIZE就可以了。
------解决方案--------------------
我做过,有做缓冲区吧
------解决方案--------------------
包太大了,拆开发。
3楼都说清楚了。
------解决方案--------------------
包太大了,拆开发。
3楼都说清楚了。
  相关解决方案