永发信息网

udp Socket 发送缓冲区 最大可以为多大

答案:1  悬赏:10  手机版
解决时间 2021-11-30 13:31
  • 提问者网友:蓝琪梦莎
  • 2021-11-29 13:27
udp Socket 发送缓冲区 最大可以为多大
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-11-29 13:35
发送缓冲区可以很大,但是在真正发送数据时需要分片发送。分片发送需要满足以下条件:
1、给每个udp包加上序号。
2、校验字节
每个udp包的最大大小是多少?
65507 约等于 64K

为什么最大是65507?
因为udp包头有2个byte用于记录包体长度. 2个byte可表示最大值为: 2^16-1=64K-1=65535
udp包头占8字节, ip包头占20字节, 65535-28 = 65507

如果要发送的udp报文大于65507怎么办?
需要在应用层由开发者自己分片发送. 分片的粒度最大65507字节. 系统的sendto函数是不支持大于65507字节的单包发送的.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯