Netty中的Handler简介
Handler
在Netty中,占据着非常重要的地位。Handler
与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、
统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的
Netty中的所有handler都实现自ChannelHandler接口。按照输入输出来分,分为ChannelInboundHandler
、ChannelOutboundHandler
两大类
ChannelInboundHandler
对从客户端发往服务器的报文进行处理,一般用来执行解码、读取客户端数据、进行业务处理等;ChannelOutboundHandler
对从服务器发往客户端的报文进行处理,一般用来进行编码、发送报文到客户端
Netty中可以注册多个handler。ChannelInboundHandler
按照注册的先后顺序执行;ChannelOutboundHandler
按照注册的先后顺序逆序执行。
ChannelPipeline中的事件不会自动流动,而我们一般需求事件自动流动,Netty提供了两个Adapter:ChannelI