没想到tcp “粘包” 的理解,最后是通过一个知乎下面的评论
https://www.zhihu.com/question/24598268
tcp是面向流的,不存在乱序问题
客户端发送顺序和服务端接受顺序必然一致。
socket的send可以认为是原子性的
大家平时说的所谓粘包,实际上是应用层的分包。把流分割成一个个对上层协议
有意义的包。这里上层协议的包
和tcp协议中的包可不是一个概念。比如http协议基于tcp。那么我们把tcp收到的流分割成header,body等等,那么上层协议的包就是指那些完整的header,body。
网友评论