UDP协议是否需要考虑半包粘包问题?
有人说:UDP协议只会全部接受或者全部丢失。
但是我在看UDP的时候发现它使用了16bit表示数据包的总长度,如果数据包的总长度大于了这个16bit所能表示的长度,那么这时候它又会如何发送那?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有人说:UDP协议只会全部接受或者全部丢失。
但是我在看UDP的时候发现它使用了16bit表示数据包的总长度,如果数据包的总长度大于了这个16bit所能表示的长度,那么这时候它又会如何发送那?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
UDP是传输层协议,在UDP更下层的数据链路层有一个概念叫做MTU,也就是一个数据包的最大长度,通常为1500,这个值是由以太网的物理特性决定的。一个数据包的长度如果超过了MTU,那么它要么被分片传输,要么被丢弃。因此当数据包到达传输层时,剥离掉数据链路层头部和网络层头部后,它的长度必定小于1500,是一定能用16bit表示的。