Netty 学习 - Server与Client的启动过程

本文详细探讨了Netty框架中Server和Client的启动过程,从创建EventLoopGroup到建立连接,解析关键步骤,包括BossGroup和WorkerGroup的角色,以及ChannelHandler的添加与事件处理。通过学习,读者将能更好地掌握Netty的底层工作原理。
摘要由CSDN通过智能技术生成

    本文主要记录在学习Netty4的代码中学习到的知识点,方便后续的查看


第一部分: 服务端ServerBootstrap与客户端BootStrap


ServerBootStrap与BootStrap均继承于AbstactBootStrap,AbstractBootstrap完成了大部分的模板方法,提供抽象方法供服务端和客户端启动类实现


启动流程如下:服务端BIND


 InitAndRegister  new - channel(包括内部的unsafe,pipleline, readInterestOp(后续再active触发的read中修改selectKey))


channle对象建立后会执行init方法,其中init方法是抽象方法,ServerBootStrap和BootStrap会实现对应的init方法


服务端的channel是NioServerSocketChannel,客户端的channel是NioSocketChannel


init方法包括设置TCP的OPTION参数等,最关键的是服务端和客户端会在init中对pipeline增加不同的ChannelHandler


ServerBootStrap的init方法会将ServerBootstrapAcceptor添加到pipleline中(将连接handler添加到pipleline,将用户配置的childHandler封装到ServerBootstrapAcceptor中)
(ServerBootstrapAcceptor的实际添加过程会封装在Ch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值