day 28 粘包

一 . 首先为什么会出现粘包现象

       客户端发送的两条及以上的消息给服务端的时候, 会出现消息的粘接,从而导致一条信息里出现了多条数据,这种现象就叫做粘包现象。

二 . 粘包现象

       粘包现象分为两种:

       粘包1连续的小包,会被优化机制给合并。

       粘包2服务端一次性无法完全就收完客户端发送到的数据,第二次再接受的时候,会接收到第一次遗留的内容

三 . 解决粘包的方案

       方案1:先告诉客户端,数据信息的长度,然后等客户端确认之后,再发送真实内容

       方案2:通过struct模块,将要发送的真实数据的长度进行打包,打包成4个字节,和真实数据一起一次性发送给客户端,客户端取出前4个字节,通过struct解包获得后面真实数据的长度,根据这个长度再进行数据的接受。

四 . 合法性连接验证

       顾名思义,就是上面的意思, 这个东西了解一下就可以了,不用过多的去追究它。

原文地址:https://www.cnblogs.com/liuteacher/p/10009372.html