什么是tcp的粘包,如何解决(未完,插眼)

https://zhidao.baidu.com/question/479883658.html
http://blog.csdn.net/zhangxinrun/article/details/6721495
tcp采用的是流式传输,在传输中,tcp会有一个缓冲区,目的是将数据积累后打包发送出去,在这里就可能会造成多次数据的粘包,数据较少,将多个数据打包一起发送出去,或一次数据未发送完,但缓冲区满了,然后在这里将这个数据从这里截开发送出去。这是客户端的原因,服务端则是在从服务缓冲区中取数据时正在取数据时,又有数据放过来,存入缓冲区中,这样就会在取数据时一同取走刚发过来的数据。(这里的数据可以这样理解有两个字符串1234567 和abcdef 他们是独立而完整的,但粘包后就可能会造成123456ab这样的数据,这样的数据不是我们所需要的,就会造成数据错误)。
解决方法:人为规定数据的长度(这里不懂)。

你可能感兴趣的:(什么是tcp的粘包,如何解决(未完,插眼))