Netty

Netty 源码阅读入门实战(二)-Netty 基本组件

2018-07-13  本文已影响36人  紫霞等了至尊宝五百年

1 一个简单的socket例子

2 Netty对于socket的抽象

3 Netty组件简单介绍

3.1 NioEventLoop

netty的发动机


Server 端的
Client 端的
这些 while(true)就对应一个 run 方法
NioEventLoop#run

netty里有不同的io编程模型实现,以Nio为例,对io事件的处理是在NioEventLoop里做的,事件的注册,是下面的这个方法


不同的事件调用unsafe的不同方法,netty对底层socket的操作都是通过unsafe来做的
unsafe主要由两种不同的实现

NioServerSocketChannel使用的是NioMessageUnsafe来做socket操作
NioSocketChannel使用NioByteUnsafe来做socket操作

处理每一个连接

3.2 Channel


3.3 ByteBuf

3.4 Pipeline


小样例中对应内容,实际非常复杂

netty 将其抽象成逻辑链,看看 netty 是怎么把每个 pipeline 加入到客户端连接的






3.5 ChannelHandler



上一篇下一篇

猜你喜欢

热点阅读