什么是 Handler
-
Netty是一款基于NIO的异步事件驱动网络应用框架,其核心概念之一就是Handler。而Handler是Netty中处理事件的核心组件,用于处理入站和出站的数据流,实现业务逻辑和网络协议的处理。
-
在Netty中,Handler是一个接口,主要分为两种:
ChannelInboundHandler
(入站Handler)和ChannelOutBoundHandler
(出站Handler),如下图所示。ChannelInboundHandler
:处理从网络通道中读取到的数据,包括解码、反序列化、消息分发等操作;ChannelOutboundHandler
:可以负责将处理结果编码、加密并通过网络通道发送出去等
Handler 是怎么被组织起来的
-
为了方便事件在各个Handler中处理与传递,在Netty中,每一个
ChannelHandler
被封装为一个ChannelHandlerContext
ChannelHandlerContext
提供了对ChannelHandler
的访问,以及它前后相邻的ChannelHandler
的访问。在ChannelHandlerContext
的抽象实现类