Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题 粘包.拆包出现的原因: 在流传输中出现,UDP不会出现粘包,因为它有消息边界 1.要发送的数据大于TCP发送缓冲区剩余空间,需要被拆包 2.待发送的数据大于MSS(最大报文长度),TCP在传输前将进行拆包 3.要发送的数据小于TCP发送的缓冲区大小,TCP将多次写入的缓冲区一次发送出去,就会出现粘包 4.接受数据端的应用层没有及时读取TCP接受缓冲区的数据,…