tcp面向字节流的,本身并不知道哪里是一段消息的开头和结尾
同时发送端可能将多个过小的包合并到一起发送,TCP默认是开了nagle算法的
,或者将过大的包拆分为多个进行发送
。
所以接收端为了从一段连续的字节流中,得到一段完整的消息,需要通过一些标识符来进行划分。
比如通过换行符,通过固定的协议头,通过固定的偏移量,或者引入带这种功能的编解码协议等等。