• FixedLengthFrameDecoder:基于固定长度的解码器

    • LineBasedFrameDecoder:基于行分隔符的解码器(\n,\r\n)

    • DelimiterBasedFrameDecoder:基于分隔符的解码器

      • 找到了分隔符,超过最大长度,直接跳过本次要读取的数据,抛出异常
      • 找到了分隔符,处于丢弃模式,设置关闭丢弃模式,直接跳过本次要读取的数据,设置已丢弃长度为 0,根据 failFast 判断是否抛出异常,返回 null
      • 没有找到分隔符,超过最大长度,直接跳过整个 buffer 中的数据,设置开启丢弃模式,根据 failFast 判断是否抛出异常,返回 null
      • 没有找到分隔符,没有处于丢弃模式,累加丢弃的字节,丢弃整个 buffer 中的数据


    • LengthFieldBasedFrameDecoder:基于长度的解码器
      • 先读取长度的长度
      • 在读取长度指定的字节数