您的位置 首页 java

Java-彻底弄懂netty-原来netty是这样启动的-知识铺

知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。

一、捋顺 Netty 开启方式

最简单开启一个server n IO

开启具体流程:

1.1 创建两个NioEventLoopGroup对象

这两个对象是netty调度模块,也相对于传统I/O编程中的大线程组。 mainGroup:监听端口,创建新连接的线程组。 workerGroup: 处理每条链路上的数据读写线程组。

mainGroup: 日常例子,一个研发项目主管,他只管接任务,不停的把任务交给助手:

workerGroup:相对于助手,是任务真正实际的操刀手。

1.2 创建serverBootstrap 对象

启动服务端,需要这个来来启动,也相对于引导类。

1.3 关联主线程组和工作线程组

serverBootstrap.group(mainGroup,workerGroup) 这种方式把两个处理线程组关联到启动类上。

1.4 指定服务端IO模型

serverBootstrap.channel(NioServerSocketChannel.class) 这种方式来指定服务端是什么I/O模型,这里选择的Nio的I/O模型。 如果需要指定为BIO,只需替换为 OioServerSocketChannel.class即可。

1.5 指定服务端连接后续处理器

serverBootstrap.childHandler() 这里添加的是ChannelInitializer 可以定义每条链路连接上来后,每条连接的数据读写,业务处理逻辑。

serverBootstrap.handler() 这里添加的也是ChannelInitializer ,这里定义的是启动处理接口。

这里很好说明 handler 与 childHandler 的区别。

还有个 泛型 参数:NioSocketChannel,这个类是Netty的Nio操作类型的连接。

1.6 bind(8000)

绑定本地端口 8000

文章来源:智云一二三科技

文章标题:Java-彻底弄懂netty-原来netty是这样启动的-知识铺

文章地址:https://www.zhihuclub.com/200962.shtml

关于作者: 智云科技

热门文章

网站地图