- 主题:一个udp包最大能传多少数据呢?
你需要买本计算机网络的教科书看看。里面讲得很清楚。这种知识太基础了,不适合在论坛上面说。
【 在 Daimon (天行健,君子以自强不息) 的大作中提到: 】
: 自己实验了下,服务器用的金山云,客户端在办公室
: 服务端用nc -lu来收包,客户端自己写的程序,直接udp发
: 实际测试一个udp包传输最大可以传16k数据过去。
: ...................
--
FROM 124.72.118.*
理论最大值是指 IP 包最大 64K,实际扣掉头部。
如果超过 MTU 会分片发送。但是分片的 UDP 包要看路由器支不支持了。互联网的路由环境复杂,一般都会把 UDP 包的负荷控制在 1400 左右。多了互联网路由器说不定就丢了——比如你试一下发 UDP 到国外的主机,超过 1500 几乎不可能发送成功。
【 在 Daimon (天行健,君子以自强不息) 的大作中提到: 】
: 鱼神你太狠了
: 你是指udp协议定义最大64k吗?
: 实际网络中,为啥我只能传16k?这个要看书,看哪个章节?
: ...................
--
FROM 124.72.118.*
看路由器啊。它不丢你就能发。它丢了你就不能发。
【 在 Daimon (天行健,君子以自强不息) 的大作中提到: 】
: 我刚才还真的试了下
: linode的机器,给国内服务器发udp,一个包,传16k没问题
: 服务端:
: ...................
--
FROM 124.72.118.*
我不太清楚你的环境是怎么回事。反正我从自己电脑往金山云的 hk 区域发 UDP 包,没法超过 1500.
你确定一边发的,另外一边有收到吗?
【 在 Daimon (天行健,君子以自强不息) 的大作中提到: 】
: 办公室 -> 金山云:16k
: linode -> 金山云: 16k
: 办公室 -> linode: 64k
: ...................
--
修改:hgoldfish FROM 124.72.118.*
FROM 124.72.118.*
能发送和不能发送都是正确的结果。
编程的时候可以探测一下,或者只发 1400 左右的 UDP 包。
【 在 Daimon (天行健,君子以自强不息) 的大作中提到: 】
: 整了个金山云新加坡区的服务器
: 新加坡:
: nc -lu > a.data
: ...................
--
FROM 117.26.53.*