请在 下方输入 要搜索的题目:

什么情况下需要考虑粘包?

什么情况下需要考虑粘包?

发布时间:2025-05-20 10:25:21
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:

如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题。

如果发送的数据无结构,比如文件传输,这样发送方只管发送,接收方只管接收存储就ok,也不用考虑粘包。

如果双方建立连接,需要在连接后一段时间内发送不同结构数据,如连接后,有好几种结构:

1)”good good study”

2)”day day up”

那这样的话,如果发送方连续发送这个两个包出去,接收方一次接收可能会是”good good studyday day up” 这样接收方就傻了,因为协议没有规定这么奇怪的字符串,所以要把它分包处理,至于怎么分也需要双方组织一个比较好的包结构,所以一般可能会在头加一个数据长度之类的包,以确保接收。

所以说:Tcp连续发送消息的时候,会出现消息一起发送过来的问题,这时候需要考虑粘包的问题。


粘包出现的原因 (在流传输中,UDP不会出现粘包,因为它有消息边界。)


发送端需要等缓冲区满才发送出去,造成粘包 (发送端出现粘包)

接收端没有及时接收缓冲区包数据,造成一次性接收多个包,出现粘包 (接收端出现粘包)

专业技术学习
专业技术学习
搜搜题库系统