Skip to content

Commit c94b796

Browse files
committed
update ch4 name
1 parent b310e73 commit c94b796

File tree

3 files changed

+40
-40
lines changed

3 files changed

+40
-40
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ Netty是Java世界知名的网络应用框架。本系列文章是Netty的源码
2424

2525
### [1.概述](https://github.com/code4craft/netty-learning/blob/master/ch1-overview.md)
2626
### [2.Netty中的buffer](https://github.com/code4craft/netty-learning/blob/master/ch2-buffer.md)
27-
### [3.层层分析Netty中的Channel(上)](https://github.com/code4craft/netty-learning/blob/master/ch3-pipeline.md)
28-
### [4.层层分析Netty中的Channel(中)](https://github.com/code4craft/netty-learning/blob/master/ch4-channel-events.md)
29-
### [5.层层分析Netty中的Channel(下)](https://github.com/code4craft/netty-learning/blob/master/ch5-channel-nio.md) *未完成*
27+
### [3.逐层分析Channel部分的实现机制](https://github.com/code4craft/netty-learning/blob/master/ch3-pipeline.md)
28+
### [4.Channel的生命周期](https://github.com/code4craft/netty-learning/blob/master/ch4-channel-lifecycle.md)
29+
### [5.Netty与Reactor模式](https://github.com/code4craft/netty-learning/blob/master/ch5-channel-nio.md) *未完成*
3030
### [6.分门别类讲讲Handler](https://github.com/code4craft/netty-learning/blob/master/ch6-handler.md) *未完成*
3131

3232
## 二、Netty中的特性与细节

ch3-pipeline.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
层层分析Netty中的Channel(上)
1+
逐层分析Channel部分的实现机制
22
--------
3-
Channel是理解和使用Netty的核心。之前在概述中粗略讲到了事件驱动机制,在这篇文章中,我们将详细分析Channel及其的实现。ChannelPipeline的涉及内容较多,这里我使用由浅入深的介绍方法。为了避免枯燥,借用一下《盗梦空间》的“梦境”概念,希望大家喜欢。
3+
Channel是理解和使用Netty的核心。在这篇文章中,我们主要介绍Netty中Channel部分的实现机制。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。为了避免枯燥,借用一下《盗梦空间》的“梦境”概念,希望大家喜欢。
44

5-
## 一层梦境:Channel机制概览
5+
## 一层梦境:Channel实现概览
66

77
在Netty里,`Channel`是通讯的载体,而`ChannelHandler`负责Channel中的逻辑处理。
88

@@ -126,7 +126,7 @@ DefaultChannelPipeline里还有些机制,像添加/删除/替换Handler,以
126126

127127
![universal API][3]
128128

129-
理清了ChannelPipeline的主流程,我们对Channel部分的大致结构算是弄清楚了。可是到了这里,我们依然对一个连接具体怎么处理没有什么概念,下篇文章,我们会分析一下,Netty在连接的建立、数据的传输过程中,具体做了什么事情。
129+
理清了ChannelPipeline的主流程,我们对Channel部分的大致结构算是弄清楚了。可是到了这里,我们依然对一个连接具体怎么处理没有什么概念,下篇文章,我们会分析一下,Netty中一个连接的生命周期,在连接的建立、数据的传输过程中,具体做了什么事情。
130130

131131
PS: Pipeline这部分拖了两个月,终于写完了。中间写的实在缓慢,写个高质量(至少是自认为吧!)的文章不容易,但是仍不忍心这部分就此烂尾。中间参考了一些优秀的文章,还自己使用netty开发了一些应用。以后这类文章,还是要集中时间来写完好了。
132132

ch4-channel-events.md renamed to ch4-channel-lifecycle.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,69 @@
1-
层层分析Netty中的Channel(中)
1+
Channel的生命周期
22
--------
33

44
上篇文章讲到了Netty的Channel内部的运作机制,这篇文章详细分析Channel的生命周期。
55

6-
## 一、连接的创建
6+
## 一、Java中的Socket生命周期
77

8-
### 上层世界:Netty中Channel的类型及创建
8+
Server:
99

10-
我们在使用Netty时,总是需要指定一个`ChannelFactory`,这个就是
10+
Open=>Bind=>Accept
1111

12-
Bind: `NioServerSocketChannel`
12+
Client:
1313

14-
Accept:`NioServerBoss`
14+
Open=>Connect
1515

16-
Read:`NioWorker.read`
1716

18-
Write:`AbstractNioWorker`
17+
无论是NIO还是OIO,都是这个原理,NIO最大的改变是引入了Selector机制,来解决IO等待的问题。
1918

20-
### 下层世界:NIO中的
19+
## 二、Netty中Channel的生命周期
2120

22-
|NIO |Netty |
23-
|-|-|
24-
|SelectionKey.OP_READ | |
25-
|SelectionKey.OP_WRITE | |
26-
|SelectionKey.OP_CONNECT | |
27-
|SelectionKey.OP_ACCEPT | |
21+
我们在使用Netty时,总是需要指定一个`ChannelFactory`,这个就是
2822

23+
Open:
2924

25+
Bind:
3026

27+
Accept:
3128

32-
## 二、Interest与Selector
29+
Connect:
3330

34-
## 三、服务器端的多线程
31+
Read:
3532

36-
## 回到现实:几种与对应的实现
33+
Write:
3734

38-
## NIO:
35+
## 三、Reactor模式及Netty中的实现
3936

40-
Selector ->Boss
41-
->Worker
4237

4338

44-
实际上Channel部分没有太多内容,
4539

46-
>TODO
4740

48-
ServerChannel
41+
那么在Netty中呢?实际上,Server部分的业务基本不涉及到逻辑,建立连接后
4942

50-
SocketChannel
5143

52-
DatagramChannel
44+
## 一、连接的创建
45+
46+
### 上层世界:Netty中Channel的类型及创建
5347

54-
LocalChannel
5548

56-
----------
5749

58-
ChannelHandler
50+
Bind: `NioServerSocketChannel`
51+
52+
Accept:`NioServerBoss`
5953

60-
ChannelUpstreamHandler
54+
Read:`NioWorker.read`
6155

62-
ChannelDownstreamHandler
56+
Write:`AbstractNioWorker`
6357

64-
Config Parent & Child
58+
### 下层世界:NIO中的
59+
60+
|NIO |Netty |
61+
|-|-|
62+
|SelectionKey.OP_READ | |
63+
|SelectionKey.OP_WRITE | |
64+
|SelectionKey.OP_CONNECT | |
65+
|SelectionKey.OP_ACCEPT | |
6566

66-
通过handler把底层隔离了
6767

6868
![Multiple Reactors][1]
6969

0 commit comments

Comments
 (0)