Netty主要结构和类

学习过程中总结下Netty主要结构和类, 让我们从更高的高度去’窥视’Netty内部结构, 对我们熟悉数据在它内部流转有很大帮助, 后续会更详细介绍, 将它们串起来.
Netty
在Netty内部主要是两个线程池(NioEventLoopGroup). 一个负责接收客户端请求, 一个负责处理IO.

当NioServerSocketChannel接收到请求后, 会将请求放入与之关联的Pipeline中, Pipeline中有很多ChannelHandlerContext, 有一个ChannelHandlerContext会将请求封装成Netty的NioSocketChannel, 最后会注册到另一个NioEventLoopGroup中的NioEventLoop上.

接收请求

基本上一个服务器只有一个NioServerSocketChannel, 并注册在NioEventLoop上. 通过一个无限循环监听客户端请求(ACCEPT). 当有多个客户端请求时, 默认情况一次读取16个客户端(某些版本是这么实现的).

处理IO

当NioSocketChannel与唯一的NioEventLoop关联后, NioEventLoop便会通过无限循环监听这个Channel的读写请求. 当接收到读请求后, 通过Unsafe读取到数据后, 会继续’传给’Pipeline, 由Pipeline中的ChannelHandlerContext继续处理, 而ChannelHandlerContext是由我们自己实现的业务, 只是我们把这些ChannelHandlerContext添加到Pipeline中而已.

微信公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值