一、前言
前面學(xué)習了Netty的ByteBuf,接著學(xué)習ChannelHandler和ChannelPipeline。
二、ChannelHandler和ChannelPipeline
2.1 ChannelHandler
在ChannelPipeline中,ChannelHandler可以被鏈在一起處理用戶邏輯。
1. Channel生命周期
Channel接口定義了一個簡單但是強大的狀態(tài)模型,該模型與ChannelInboundHandler API緊密聯(lián)系,Channel有如下四種狀態(tài)。
Channel的生命周期如下圖所示。
當狀態(tài)發(fā)生變化時,就會產(chǎn)生相應(yīng)的事件。
2. ChannelHandler的生命周期
ChannelHandler定義的生命周期如下圖所示。
Netty定義了ChannelHandler的兩個重要的子類
· ChannelInboundHandler,處理各種入站的數(shù)據(jù)和狀態(tài)的變化。
· ChannelOutboundHandler,處理出站數(shù)據(jù)并允許攔截的所有操作。
3. ChannelInboundHandler接口
下圖展示了ChannelInboundHandler接口生命周期中的方法,當接受到數(shù)據(jù)或者其對應(yīng)的Channel的狀態(tài)發(fā)生變化則會調(diào)用方法
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 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實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26