一个关于UDP包大小的问题,网络大虾都进来看看啊 ( 积分: 100 )

  • 主题发起人 主题发起人 hebohb
  • 开始时间 开始时间
H

hebohb

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到一个奇怪的问题,我写的程序在公司的机上只能接收大小小于1500字节的UDP包,但在家的机器上可以接收4000以上的UDP包,这是怎么回事啊
 
我遇到一个奇怪的问题,我写的程序在公司的机上只能接收大小小于1500字节的UDP包,但在家的机器上可以接收4000以上的UDP包,这是怎么回事啊
 
一般一个 UDP 包在 8K 以内。

也许在注册表中可以设定吧。

用优化大师之类的看看。
 
用过了啊,都不行捏
 
考虑你代码的问题,
 
可以这样来解决:

将超过于1500字节的UDP包分割,每次发送1000~1500Byte,接收端收到就通知后发送端发送下一个UDP数据包。
如果是发送文件,建议还是使用TCP/IP,必竟UDP不是可靠的传输协议。
 
UDP传输中,对包大小是有限定的,在TCP中没有限定,不过udp包你可以分割大小的~
 
1500字节应该是以太网包大小,IEEE 802.3 以太网数据包最大1500,UDP的包大于1500(实际是1500-42)时,网络发送时分解成1458大小的包。环境不好时,各包到达的时间差大,或有丢失就收不到了。
 
看网络状况了
mtu的最小值为293
出去udp报头的大小20
不过一般都在1k左右
 
后退
顶部