Netty源码分析系列之三:Netty启动之NioEventLoop创建

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!


一、NioEventLoop创建


Netty服务启动,最重要的事情就是做好接受客户端连接的准备。我们分别看下自定义线程以及boss线程所要完成的任务以及流程,如下所示:

在这里插入图片描述

在这里插入图片描述

这里罗列了一些比较重要的类名称及其对应的主要功能说明,以便于大家在阅读源码时可以快速了解对应类的功能:

| 类 | 作用 |

| — | — |

| ServerBootstrap | 服务端启动辅助类 |

| NioEventLoop | Nio事件处理器(Reactor模型) |

| NioEventLoopGroup | 一组Nio事件处理器(Reactor模型) |

Netty源码包中,我们首先看下 io.netty.example.echo包中的EchoServer 类,该类中包含了Netty服务启动相关代码,具体源码以及源码部分分析注释如下所示:

public final class EchoServer {

static final boolean SSL = System.getProperty(“ssl”) != null;

static final int PORT = Integer.parseInt(System.getProperty(“port”, “8007”));

public static void main(String[] args) throws Exception {

// Configure SSL.

final SslContext sslCtx;

if (SSL) {

SelfSignedCertificate ssc = new SelfSignedCertificate();

sslCtx = SslContextBuilder.forServer(ssc.certificate(), ssc.privateKey()).build();

} else {

sslCtx = null;

}

//处理连接事件

EventLoopGroup bossGroup = new NioEventLoopGroup(1);

//处理读以及写的事件

EventLoopGroup workerGroup = new NioEventLoopGroup();

final EchoServerHandler serverHandler = new EchoServerHandler();

try {

//服务引导类

Serve

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值