UDP协议格式
拼装报头的过程就是”封装“
UDP长度:整个UDP的长度=报头+载荷,使用2个字节的数据来表示,单位是字节,表示数据范围 0-65535byte,一个UDP数据报最大就是64KB,所有在使用UDP传输数据的时候一定要注意报文长度不能超过64K,超过就会丢失一部分数据.
那么传输大的数据报该怎么办呢?
最好的办法就是直接改成TCP,TCP对数据的长度没有限制.
UDP校验和
为什么要引入校验和:
网络传输数据本质都是一些0/1 bit流,这些bit流是通过光信号或者电信号来表示的,在传输过程中受到一些干扰,就容易出现“比特翻转",校验和就是为了验证看当前的数据是否出现问题.
如去超市买生活用品:卫生纸,抽纸,牙膏,洗面奶,洗衣液一共五种东西。此时去超市买的时候就会一边买一边检查买的结果.如果发现手上的东西已经五种了,就认为买完了。如果发现手里有三种或者六种就认为买错了.
但是手中的五种东西也不一定完全正确,有可能把洗衣液买成了洗衣粉。
校验和不一定百分百进行校验,如果校验和正确不能保证数据一定正确,但是校验和不正确就说明数据一定错误.
校验和往往根据原始数据的内容生成,不同的内容,生成的校验和也不一样。
使用校验和的算法:crc
crc