Netty学习笔记——解读Netty处理粘包、半包问题

1、 解码核心工作流程

  • 数据积累
  • 调用Decode(模板模式)
  • Decode完之后清理数据

2、解码中两种数据积累器的区别

  • 内存复制
  • 逻辑视图

3、三种解码器常用额外控制参数

  • FixedLenghthFrameDecoder (固定长度)
  • DelimiterBasedFrameDecoder (可以多个分隔符)
  • LengthFieldFramdDecoder (固定长度的字段存储内容长度)

Netty学习笔记——解读Netty处理粘包、半包问题

核心参数:

lengthFieldOffset length开始的位置

lenghtFieldLength length的长度

lengthAdjustment 内容的调节字段, eg:长度字段和内容字段之间的字符长度

initialBytesToStrip eg:这个字段长度设置为length的长度,解析出来的内容s就是实际内容