请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

3-1 UDP包长度有疑问, 存储信息长度是16位, 自身协议就用了64位, 后者比前者还大,相减不是出现负数吗?

正在回答

2回答

不是,这里不是这么理解的。这里是说,一段数据是一段数据,既然要区分就要有长度。所以在UDP中有2个字节专门用来存储长度的,2个字节是16位,在16位中至多可以存下一个65535这个数字进去,这是极限值。

也就是说这一整段数据最多可以有65535字节的数据存在,后面说协议又占用了8字节。所以后面携带的数据就是:65535-8 字节。

watermark,g_7,image_d2F0ZXIvYmFpa2U4MA==这个图中的UDP首部就是这个道理。UDP数据部分也就是我们说的:65535-8的长度。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_胜在终点_0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-01-31 21:19:24
  • 一开始我也没转过来,看了这个回答一下明朗了。感谢老师
    回复 有任何疑惑可以回复我~ 2020-03-13 15:15:19
xxxxjase 2020-09-12 20:26:53

我觉得第一行有些误导人;

实际上 2 字节用于存储长度,这个 2 字节是在自身协议的占用的 8 字节里面;

65535 字节只指 协议头 + 数据 的总长度;

所以要减去了,是这样不??

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信