37. 传输层TCP协议十大主要特性(9) —— 粘包问题

2022-10-26 15:53:21 浏览数 (1)

粘包问题:粘的是应用层数据报,导致处理数据的时候,容易堵半个应用层数据报(这是一个凡是面向字节流传输都会遇到的问题)

假设:

在小红的回答中有三个字,这个时候就需要从缓冲区中读取了,但是读的时候一次性读几个数据,这是无法预知的,这就可能会让程序出现歧义(UDP以包为单位,就不存在这样的问题)

那么读取应用层数据就不应该只读半个包,也就是需要通过应用层协议本身来区分包和包的边界,区分方式可以有: 1.使用分隔符:好个p;好个p;… 2.明确包的长度:3 好个p

udp

0 人点赞