免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3736 | 回复: 13
打印 上一主题 下一主题

upd传输数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-27 20:19 |只看该作者 |倒序浏览
upd传输的数据包是有限的,我想问一下,如何处理upd包过大的问题

论坛徽章:
0
2 [报告]
发表于 2005-11-27 20:21 |只看该作者
我写的是udp,写错了,我现在传送的数据> 2048

请问如何执包呀

论坛徽章:
0
3 [报告]
发表于 2005-11-28 10:11 |只看该作者
用setsockopt中的 SO_RCVBUF 和SO_SNDBUF两个标志试试.

论坛徽章:
0
4 [报告]
发表于 2005-11-28 10:48 |只看该作者
原帖由 wys0436 于 2005-11-28 10:11 发表
用setsockopt中的 SO_RCVBUF 和SO_SNDBUF两个标志试试.


有的系统不支持,谁有拆包的程序????

论坛徽章:
0
5 [报告]
发表于 2005-11-28 11:06 |只看该作者
我现在的问题是,有时数据会大于>2048,所以要分几次来发,

我想问的是这边如何发,那边如何接,规则怎么订

论坛徽章:
0
6 [报告]
发表于 2005-11-28 12:35 |只看该作者
可以使用协商,每段发送前先确定自己可以接受的最大长度,然后通知对方,以后的通讯以这个为准,超过长度的就自己分片,设计个协议,应该比较简单
bigdipper 该用户已被删除
7 [报告]
发表于 2005-11-28 12:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2005-11-28 13:18 |只看该作者
原帖由 bigdipper 于 2005-11-28 12:41 发表
实际上以太网包最长为1500字节,而非你说的2048,其结构为:
ethernet header + ip header + udp header + application data
applicatio data实际上最长为1500- 14 - 20 - 8 = 1458.

其实分包(fragmentation)与 ...



使用udp不是不能自动拆包的吗,如果我一下发3500字节,那接受方能受到3500字节吗?
bigdipper 该用户已被删除
9 [报告]
发表于 2005-11-28 13:30 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2005-11-28 13:52 |只看该作者
原帖由 bigdipper 于 2005-11-28 13:30 发表
"使用udp不是不能自动拆包的吗",你的自动拆包什么意思.  应用程序不用管一个大的数据块是如何在最大长度只有1500字节的以太网上发送的,这些由IP协议替你做了.
当然可以,对方会将数据包缓存起来(也是由 ...



我以前听别人说过:tcp 一次发送>1500 (比如发 3000字节) ,会自动拆成几个包,在发出去

udp一次发送>1500 (比如发 3000字节) 只会发出去一个包  那么接受方回接到不完整的数据


还是说udp一次发3000字节,系统会自动拆成几个包,在发出去,还是只发一个包????
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP