Netty源码分析之ChannelPipeline(三)—入站事件的传播

Java62

之前的文章中我们说过ChannelPipeline作为Netty中的数据管道,负责传递Channel中消息的事件传播,事件的传播分为入站和出站两个方向,分别通知ChannelInboundHandler与ChannelOutboundHandler来触发对应事件。这篇文章我们先对Netty中入站事件的传播,也就是ChannelInboundHandler进行下分析:

1、入站事件传播示例

我们通过一个简单的例子看下ChannelPipeline中入站事件channelRead的传播

```
public class ServerApp {
public static void main(String[] args) {
EventLoopGroup boss = new NioEventLoopGroup();
EventLoopGroup work = new NioEventLoopGroup(2);
try {
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(boss, work).channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer() {
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
// p.addLast(new LoggingHandler(LogLevel.INFO));
// 向ChannelPipeline中添加自定义channelHandler

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

实现艾尔登法环中的大卢恩效果

使用顶点动画中的广告牌技术(Billboarding),来实现大卢恩在竖直方向上保持始终朝向玩家的效果。 1、广告牌技术原理 公告牌技术根据观察方向旋转纹理颜色的多边形,这通常用于渲染烟、云、火焰等。...
Java

用户交互Scanner(Java)

基本介绍 1.next() 一定要读取到有效字符后才可以结束输入 对输入有效字符之前遇到的空白,next()方法会自动将其去掉 只有输入有效字符后才将其后面的空白作为分隔符或者结束符 next()不能...
Java

cookie+拦截器实现不同角色对应不同的登录页

问题描述 问题描述:由于业务需求,系统中有 A角色需要看A登录页、B角色需要看B登录页面。注意是同一个系统哦。现在问题来了,有同学可能会回答了,这样就太简单了,A角色直接访问A登录页,B角色直接访问B...
Java

Liunx-CentOS安装Nginx

# 查看nginx是否运行 ps -ef | grep nginx # 停止用stop、或者用kill /usr/local/nginx/sbin/nginx -s stop # 查询Nginx安装的...
Java

WebSocket

WebSocketConfig.java /** * WebSocket配置类 * @author admin */ @Configu...
Java

ucore操作系统学习(六) ucore lab6线程调度器

ucore在lab5中实现了较为完整的进程/线程机制,能够创建和管理位于内核态或用户态的多个线程,让不同的线程通过上下文切换并发的执行,最大化利用CPU硬件资源。ucore在lab5中使用FIFO的形...
Java

单例模式只会懒汉饿汉?读完本篇让你面试疯狂加分

前言 说到设计模式,面试排在第一位的十有八九是单例模式,这一定是大部分人从入门到面试工作都避不开的基础知识。 但单例模式不仅有懒汉模式和饿汉模式两种写法,往往我们掌握的都是最基础的写法,如果你有阅读过...
Java

垃圾收集器

垃圾收集器 Serial:单线程收集器、在进行垃圾收集的时候需要暂停其他线程。优点:简单高效。适用于新生代。复制算法 SerialOld:是Serial收集器的l老年代版本,,也是一个单线程收集器,不...
Java

docker

一.Docker入门 1. Docker 为什么会出现 Docker是基于Go语言开发的!开源项目 4.1. 虚拟化技术的缺点 资源占用十分多 冗余步骤多 启动很慢 2.2. 容器化技术 比较Dock...
Java

关于管理编程社网站的知识与技巧(自用,必看)

关于管理编程社网站的知识与技巧(自用,必看) 最近呢,咱们编程社的网站终于是又修好了。趁着这个机会,笔者决定是要写一篇攻略,专门用于了解与锻炼建立网站的能力。所以,如果现在是你在管理编程社的网站,这些...
Java

Map集合

一、什么是Map: 首先map是一个集合,一种按照键存储元素的容器。在map中键可以是任意类型的对象,map中不能有重复的键,每一个键都有一个对应的值。 二、Map集合的特点: 1、Map是一个双列集...
Java

docker进阶

Docker Compose Docker DockerFile build run 手动操作,单个容器 微服务,100个微服务,依赖关系 Docker Compose来轻松高效的管理容器,定义运行多...