Netty1

Netty1

Netty处理器的重要概念

  1. Netty的处理器可以分为两类:入站处理器与出站处理器。
  2. 入站处理器的顶层是ChannelInboundHandler,出站处理器的顶层是ChannelOutboundHandler。
  3. 数据处理时常用的各种编解码器本质上都是处理器。
  4. 编解码器:无论我们想网络中写入的数据是什么类型(int、char、String、二进制等),数据在网络传递时,都是以字节流的形式呈现的;将数据由他原本的形式转换为字节流的操作成为编码(encode),将数据由字节转换为它原本的格式或是其他格式的操作成为解码(decode),编解码统一称为codec。
  5. 编码:本质上是一种出站处理器;因此,编码一定是一种ChannelOutboundHandler。
  6. 解码:本质上是一种入站处理器;因此,编码一定是一种ChannelInboundHandler。
  7. 在Netty中,编码通常以XXXEncoder命名;解码器通常以XXXDecoder命名。

TCP粘包与拆包。

关于Netty编解码器的重要结论:

  1. 无论是编码器还是解码器,其所接收的消息类型必须要与待处理的参数类型一致,否则该编码器或解码器并不会被执行。
  2. 在解码器进行数据解码时,一定要记得判断缓冲(BypteBuf)中的数据是否是足够,否则将会产生一些问题。