Tcp的粘包和拆包
粘包拆包是什么意思?[面试5.0]指TCP是基于字节流传输的,数据是没有边界的若数据大于剩余空间大小或大于TCP的MSS最大报文长度,TCP在传输时将数据拆开然后把数据发出去(即拆包)若数据小于TCP发送缓冲区的大小,TCP会多次写数据到缓冲区,然后一次发出去(即粘包)解决粘包或拆包: 固定消息数据长度,但是浪费存储和网络资源使用分割符来区分包的界限数据包的头部中增加数据包长度字段处理逻辑: 若当前读取的数据不足以拼接成一个完整的包,就保留该数据,继续读UDP是否有粘包或拆包问题: UDP无粘包或拆包问
复制链接