ChannelHandler
类层次关系图

入站和出站:
从服务端的角度,数据从客户端发送到服务端,称之为入站,当数据处理完成返回给客户端,称之为出站。是相对的概念。
从客户端的角度,数据从服务端发送给客户端,称之为入站,当数据返回给服务端,称之为出站。
不论是入站还是出站,handler从一端开始,到另一端结束,以责任链的模式依次执行。
责任链模式——“击鼓传花”,当请求被不同的接收者处理时,每个接收者都包含对下一个接收者的引用,一个接收者处理完成后,将依次向下传递。
适配器模式——出国时要使用的电源转换器(美国/日本110V 中国220V电压),作为两个不兼容的接口之间的桥梁,将类的接口转换为需要的另外一种接口。
ChannelDuplexHandler是除了入站和出站handler之外的,另一个常用子类。
它同时实现了ChannelInboundHandler和ChannelOutboundHandler接口,如果需要既处理入站事件又处理出站事件,可以继承此类。
serverBootstrap.handler(new LoggingHandler(LogLevel.INFO))
------------------------------------------------------------------
public class LoggingHandler extends ChannelDuplexHandler{}
------------------------------------------------------------------
public class ChannelDuplexHandler extends ChannelInboundHandlerAdapter imple

本文介绍了Netty框架中ChannelHandler的类层次关系,包括入站和出站事件的处理。ChannelDuplexHandler用于同时处理入站和出站事件,而ChannelInboundHandler和ChannelOutboundHandler分别处理入站和出站。通过责任链模式,handler在数据传输路径上依次执行。适配器模式如ChannelHandlerAdapter简化了handler的实现,并提供了isSharable()方法来判断handler是否可共享。对于资源管理,SimpleChannelInboundHandler提供了自动释放资源的功能。LoggingHandler示例展示了如何实现一个自定义的ChannelHandler。
最低0.47元/天 解锁文章
3024

被折叠的 条评论
为什么被折叠?



