全站数据
8 4 2 0 5 8 1

udp数据总长度怎么算

深圳在职学习 | 简单学习,快乐成才!         
问题更新日期:2024-11-01 04:56:37

问题描述

udp数据总长度怎么算希望能解答下
精选答案
最佳答案

UDP则与TCP不同,UDP包头内有总长度字段,同样为两个字节,因此UDP数据包的总长度被限制为65535,这样恰好可以放进一个IP包内,使得 UDP/IP协议栈的实现非常简单和高效。

65535再减去UDP头本身所占据的8个字节,UDP服务中的最大有效载荷长度仅为65527(好像还要减去IP头20个字节,最后为65507)。这个值也就是

你在调用getsockopt()时指定SO_MAX_MSG_SIZE所得到返回值,任何使用SOCK_DGRAM属性的socket,一次send的 数据都不能超过这个值,否则必然得到一个错误。