Channel

news/2024/5/18 10:53:45 标签: netty

Channel

channel是通讯的载体,对应通讯的一端,在BIO中对应Socket,Nio中 对应SocketChannel, Netty中对应NioSocketChannel,ServerSocket同理
channelHandler是通道的处理器,一个channel往往有多个handler
channelpipeline是handler的容器,装载并管理handler的顺序(本质是双向链表)
1:channel创建时,会对应创建一个channelpipeline,pipeline首先会记录一个头部的处理器handler,当pipeline进行分发的时候,先分发给头部,然后依次执行,执行handler全部执行完成
2:channel创建时,会注册到EventLoop之中,EventLoop会监听事件的发生,不同的事件调用handler不同的处理方法,让流程运转起来

四种状态Channel

1:ChannelUnregistered 已创建但还未注册到监听器中
2;ChannelRegistered 已注册到监听器中EventLoop中
3:ChannelActive :连接完成处于活跃状态,此时可以接收和发送数据
4;ChannelInactive 非活跃状态 代表连接未建立或者已断开

Channelhandler生命周期

1:handlerAdded 把handler添加到pipeline之中
2;handlerRemoved 从pipeline中移除
3;execptionCaught 在处理过程中错误产生

Channel创建时机

在启动对象调用bind()或者connect方法时,会创建channel本质上通过反射,使用工厂的反射实现类创建对应的实例,此时对象的类型通过channel的参数来进行设定


http://www.niftyadmin.cn/n/427145.html

相关文章

Springboot 配置文件属性 Common Application Properties 2023

Springboot 配置文件属性 Common Application Properties 2023 Various properties can be specified inside your application.properties file, inside your application.yaml file, or as command line switches. This appendix provides a list of common Spring Boot prop…

css基础知识二:CSS选择器有哪些?优先级?哪些属性可以继承?

一、选择器 CSS选择器是CSS规则的第一部分 它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当是被选为应用规则中的CSS属性值的方式 选择器所选择的元素&#xff0c;叫做“选择器的对象” 我们从一个Html结构开始 <div id"box"><div class"o…

C/C++基础讲解(一百零九)之经典篇(文本颜色/素数/选择排序)

C/C++基础讲解(一百零九)之经典篇(文本颜色/素数/选择排序) 程序之美 前言 很多时候,特别是刚步入大学的学子们,对于刚刚开展的计算机课程基本上是一团迷雾,想要弄明白其中的奥秘,真的要花费一些功夫,我和大家一样都是这么啃过来的,从不知到知知,懵懂到入门,每一步都…

高完整性系统——霍尔逻辑

文章目录 霍尔三元组案例1案例2 逻辑推导规则forward v.s. backwardforwardbackward rule of assignmentrules of consequence结合上述两个 rulerule of sequencing更大的程序案例skip ruleconditional rule案例 要证明这个程序需要从上往下进行&#xff0c;先单独证明 f:1, i:…

项目使用tensorflow2会出错,下载并使用tensorflow1

背景&#xff1a;使用pycharm安装总显示安装失败&#xff0c;使用pip安装也不行&#xff0c;只能使用conda配置虚拟环境手动安装 1、下载安装anaconda 官网下载&#xff0c;双击安装。用anaconda就是想使用虚拟环境&#xff0c;万一没弄好直接删了重新搞就行。 2、创建虚拟环境…

【MarkerDown】CSDN Markdown之时序图sequenceDiagram详解

CSDN Markdown之时序图sequenceDiagram详解 序列图 sequenceDiagram参与者与组参与者 participant拟人符号 actor别名 as组 box 消息(连线)激活/失活 activate/deactivate备注 Note循环 loop备选 Alt并行 par临界区 critical中断 break背景高亮 rect注释 %%转义字符的实体代码序…

JVM 面试必会面试题

1. 说一说JVM的主要组成部分 点击放大看&#xff0c;一图胜千文 jvm 方法区和堆是所有线程共享的内存区域&#xff1b;而虚拟机栈、本地方法栈和程序计数器的运行是线程私有的内存区域&#xff0c;运行时数据区域就是我们常说的JVM的内存。类加载子系统&#xff1a;根据给定的…

android remount 工作原理简介

android remount 在调试android 系统的时候是个非常有用的调试手段&#xff0c; 有remount 的帮助&#xff0c; 可以轻松的修改系统分区的某些文件&#xff0c;或者在系统分区添加删除文件。但有时候remount 也会因为一些verity&#xff0c; checkpoint &#xff0c;和remount …