Netty 粘包

  1. 云栖社区>
  2. 阿里云MVP>
  3. 博客>
  4. 正文

Netty 粘包

KB小秘书 2019-07-17 09:03:47 浏览310
展开阅读全文

粘包、拆包问题说明

假设客户端分别发送数据包D1和D2给服务端,由于服务端一次性读取到的字节数是不确定的,所以可能存在以下4种情况。
1.服务端分2次读取到了两个独立的包,分别是D1,D2,没有粘包和拆包;
2.服务端一次性接收了两个包,D1和D2粘在一起了,被成为TCP粘包;
3.服务端分2次读取到了两个数据包,第一次读取到了完整的D1和D2包的部分内容,第二次读取到了D2包的剩余内容,这被称为拆包;
4.服务端分2次读取到了两个数据包,第一次读取到了部分D1,第二次读取D1剩余的部分和完整的D2包;

Netty 重现TCP粘包

简单的echo服务实现,client发送一条数据,server显示一条数据

import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.ByteBuf;
im

网友评论

登录后评论
0/500
评论
KB小秘书
+ 关注
所属云栖号: 阿里云MVP