日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Netty】Netty 核心组件 ( Pipeline | ChannelPipeline )

發布時間:2025/6/17 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Netty】Netty 核心组件 ( Pipeline | ChannelPipeline ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、 Pipeline / ChannelPipeline 管道組件
  • 二、 Pipeline / ChannelPipeline 管道組件元素解析





一、 Pipeline / ChannelPipeline 管道組件



1 . ChannelPipeline 本質及作用 :


① ChannelPipeline 本質 : ChannelPipeline 是負責業務邏輯的處理器 ChannelHandler 的集合 ;

② ChannelPipeline 作用 : 攔截 入站 ( Inbound ) 和 出站 ( Outbound ) 的 IO 事件 , 并進行相應的業務邏輯處理 ;


ChannelPipeline 是 Handler 集合 , 處理 入站 / 出站 操作 ;



2 . ChannelPipeline 過濾器模式 : ChannelPipeline 設計中使用了過濾器模式 , 基于該過濾器模式的機制 , 用戶可以攔截 IO 事件 , 并進行自己的業務邏輯操作 , 攔截 IO 事件 , 使用該 ChannelPipeline 對象的 Channel 通道中的 ChannelHandler 中處理業務邏輯 ;



3 . ChannelPipeline 相關組件的對應關系 :


① 管道與通道 : 每個 ChannelPipeline 管道對應一個 Channel 通道 , ChannelPipeline 與 Channel 兩者是 1:11:11:1 的關系 ;

② 管道與處理器 : 每個 ChannelPipeline 管道中維護了處理器 ChannelHandler 集合 , 管道 ChannelPipeline 與 處理器 Handler 兩者是 1:n1:n1:n 的關系 ;

③ 處理器與處理器上下文 : 每個 ChannelHandler 處理器都有一個與之對應的 ChannelHandlerContext , 二者是 1:11:11:1 的關系 ;

④ 處理器上下文鏈表 : 管道中的 ChannelHandler 處理器是放在一個集合中的 , 每個與 ChannelHandler 對應的 ChannelHandlerContext 是放在一個雙向鏈表中 ;

⑤ 圖示 : 下圖可以描述 Channel 管道 , ChannelPipeline 管道 , ChannelHandlerContext 通道處理器上下文 , ChannelHandler 處理器的對應關系及結構 ;





二、 Pipeline / ChannelPipeline 管道組件元素解析



1 . Debug 調試查看管道內部元素 : 任意找一個 Netty 服務器程序 , 綁定端口后 , 獲取一下 ChannelPipeline , 然后 Debug 調試查看 ChannelPipeline 中的元素結構 ;



2 . 代碼及斷點 : 運行 【Netty】使用 Netty 開發 HTTP 服務器 | 三、 HTTP 服務器代碼實現 中的 HTTP 服務器代碼 , 在 ServerBootstrap 配置中的 childHandler 設置 ChannelInitializer 最后一行代碼打斷點 ;

這里只列舉部分代碼 , 在獲取 ChannelPipeline 代碼處打上斷點 , 查看其內部元素

// 1. 之前創建 bossGroup workerGroup 兩個線程池 // 省略一萬行代碼 ...// 2. 服務器啟動對象, 需要為該對象配置各種參數 ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossGroup, workerGroup) // 設置 主從 線程組 , 分別對應 主 Reactor 和 從 Reactor.channel(NioServerSocketChannel.class) // 設置 NIO 網絡套接字通道類型.option(ChannelOption.SO_BACKLOG, 128) // 設置線程隊列維護的連接個數.childOption(ChannelOption.SO_KEEPALIVE, true) // 設置連接狀態行為, 保持連接狀態// 核心分析代碼 ------------------------------------------------------------------------.childHandler( // 為 WorkerGroup 線程池對應的 NioEventLoop 設置對應的事件 處理器 Handlernew ChannelInitializer<SocketChannel>() {// 創建通道初始化對象@Overrideprotected void initChannel(SocketChannel ch) throws Exception {// 該方法在服務器與客戶端連接建立成功后會回調// 獲取管道ChannelPipeline pipeline = ch.pipeline();// 為管道加入 HTTP 協議的編解碼器 HttpServerCodec,// codec 中的 co 是 coder 編碼器的意思, dec 是 decoder 解碼器的意思// 第一個字符串是編解碼器的名稱pipeline.addLast("HttpServerCodec" , new HttpServerCodec());// 為管道 Pipeline 設置處理器 Hanedlerpipeline.addLast("HTTPServerHandler", new HTTPServerHandler());// 管道初始化完成// 在此行代碼上打斷點 ----------------------------------------------System.out.println("管道初始化完成!");}});// 核心分析代碼 ------------------------------------------------------------------------



3 . 運行程序進入斷點 :


① 運行服務器端程序 : 使用 debug 模式運行服務器程序



② 瀏覽器訪問服務器 : 瀏覽器訪問 http://127.0.0.1:8888 地址 , 此時代碼執行進入斷點位置 ;



4 . ChannelPipeline 管道內元素分析 :


① 管道類 : ChannelPipeline 本身的類型是 DefaultChannelPipeline ;

② 管道與通道 : 管道 ChannelPipeline 中可以獲取到 Channel 通道 , 通道 Channel 中也可以獲取到 管道 ChannelPipeline ;

③ ChannelHandlerContext 雙向鏈表 :

  • 鏈表頭 : head 是 管道處理器上下文 ChannelHandlerContext 的雙向鏈表的鏈表頭 ;

  • 鏈表尾 : tail 是 管道處理器上下文 ChannelHandlerContext 的雙向鏈表的鏈表尾 ;



5 . ChannelHandlerContext 類型 : head 和 tail 都是 ChannelHandlerContext 類型的 ;


① 接口 : ChannelHandlerContext 類型是接口 , 實際使用的是該接口的實現類 ;

public interface ChannelHandlerContext extends AttributeMap, ChannelInboundInvoker, ChannelOutboundInvoker

② 接口實現類 : ChannelHandlerContext 接口有 666 個實現類 , 常用的是 DefaultChannelHandlerContext 實現類 ;

總結

以上是生活随笔為你收集整理的【Netty】Netty 核心组件 ( Pipeline | ChannelPipeline )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 狠狠亚洲 | 自拍偷拍第二页 | 精品一区二区三区久久 | 国产福利视频一区二区 | 日本xx视频免费观看 | 中文字幕欧美激情 | 免费九九视频 | 综合色吧| 女性向小h片资源在线观看 日本天天操 | 狠狠干综合 | 体感预报日剧 | 97网站| 影音先锋在线视频 | 国产在线喷水 | 欧美福利第一页 | 一区二区三区成人 | 欧美精品午夜 | 日韩激情精品 | 欧美精品大片 | 在线视频一区二区 | 成人二区三区 | 一级黄色大片在线观看 | 激情偷乱人成视频在线观看 | 国产精品视频一区二区三区不卡 | 日韩在线不卡视频 | 欧美精品1区2区3区 精品成人一区 | 最好看的日本字幕mv视频大全 | 懂色av一区| 人妻少妇偷人精品久久性色 | 91在线免费观看网站 | 免费av在线网站 | 亚洲成熟少妇视频在线观看 | 欧美激情性生活 | 美女隐私无遮挡网站 | 国产女人18毛片18精品 | aaa特级毛片 | 亚洲成av人片一区二区梦乃 | 天堂资源在线播放 | 香蕉视频黄污 | 欧美日韩国产一区二区三区在线观看 | 国产亚洲综合在线 | 91大神小宝寻花在线观看 | 午夜激情电影在线观看 | 91最新视频 | 欧美少妇性生活 | 五月婷婷啪啪 | 天堂国产一区二区三区 | 精品99在线观看 | 国产美女视频网站 | 亚洲国产欧美一区二区三区深喉 | 九九黄色大片 | 亚洲成人一区二区 | 亚洲av日韩av不卡在线观看 | 97精品视频在线 | 捆绑无遮挡打光屁股调教女仆 | 国产视频一区二区不卡 | 国产xxxxx | 日本天堂网在线 | 国产理论视频在线观看 | 九九热精彩视频 | 女人做爰全过程免费观看美女 | 久久久99精品 | 免费人妻精品一区二区三区 | 亚洲av成人无码一区二区三区在线观看 | 极品少妇在线观看 | 91 在线视频| 久久伊人五月天 | 91社区在线播放 | 国产酒店自拍 | 欧洲一区二区三区 | 国产91沙发系列 | 青春草在线视频免费观看 | 国产裸体美女永久免费无遮挡 | www.色黄| 中国毛片网 | r级无码视频在线观看 | 午夜高潮视频 | 99久久九九 | 久久偷看各类女兵18女厕嘘嘘 | 中文字幕av网 | 奇米四色在线视频 | 日韩黄色免费电影 | 播放美国生活大片 | 中日精品一色哟哟 | 免费视频黄色 | 大咪咪dvd | 97超碰在线播放 | 天天插综合网 | 欧美特级黄色 | 久久久久国产精品无码免费看 | 大尺度在线观看 | 日韩经典一区 | 黄色片的网站 | 色婷婷亚洲 | 插入综合网 | 色婷婷久久久亚洲一区二区三区 | 91精品中文字幕 | 自拍偷拍国产精品 | 亚洲av无码国产精品久久 |