UDP没有粘包,TCP有,因为TCP是面向流的消息格式,
粘包有两种:
1.由于你设置的接收大小小于你收到的消息的大小,那么剩余的消息的部分会和下一次接收一次被接收到
2.快速连续发送两个很小的消息,两个小消息会被合到一起被一次接收拿到。本质上就是因为接收端不知道发送端发送消息的大小导致的。
解决办法:在发送消息之前,先将消息大小发送过去,接收端按照消息大小来接收。Struck模块
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步