一、前言
前面学习了Netty的ByteBuf,接着学习ChannelHandler和ChannelPipeline。
二、ChannelHandler和ChannelPipeline
2.1 ChannelHandler
在ChannelPipeline中,ChannelHandler可以被链在一起处理用户逻辑。
1. Channel生命周期
Channel接口定义了一个简单但是强大的状态模型,该模型与ChannelInboundHandler API紧密联系,Channel有如下四种状态。
Channel的生命周期如下图所示。
当状态发生变化时,就会产生相应的事件。
2. ChannelHandler的生命周期
ChannelHandler定义的生命周期如下图所示。
Netty定义了ChannelHandler的两个重要的子类
· ChannelInboundHandler,处理各种入站的数据和状态的变化。
· ChannelOutboundHandler,处理出站数据并允许拦截的所有操作。
3. ChannelInboundHandler接口
下图展示了ChannelInboundHandler接口生命周期中的方法,当接受到数据或者其对应的Channel的状态发生变化则会调用方法
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26