NIO 网络编程模型
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件
NIO网络模型图
NIO模型
NIO网络模型
NIO网络模型
NIO网络模型
NIO网络模型
服务端Selector:负责监听新连接的接入,或者某个连接有可读可写的消息,一旦监听到,就会调用对应的事件处理器来 完成对事件的响应
Acceptor可以一次处理多个请求。
NIO网络模型
Selector: 循环检测注册事件就绪情况
注册建立连接事件
Client向服务端发送建立连接请求事件,服务器端的selector监听检测到该事件
服务器端启动建立连接事件处理器Acceptor Handler
处理器创建与客户端的连接
响应客户端建立连接请求
Acceptor注册连接可读事件
客户端发送请求
selector启动连接读写处理器
读写处理器(Read&Write Handler)处理与客户端的读写业务
读写处理器响应客户端请求
读写处理器将socket可读事件注册到selector上
NIO网络模型 处理过程
NIO网络模型
NIO网络模型
NIO 过程
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
====处理流===
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件
NIO网络模型
NIO网络模型
第一步:注册连接并提供服务:Selector 中初始化注册并建立连接事件,提供给Client建立连接的服务;client通过Selector连接与AcceptorHandler 发送创建客户端的连接,并又AcceptorHandler方法返回响应结果;同时该AcceptorHandler方法向Selector中注册可读事件(Client连接客户端成功后)
第二步:提供服务:client 发送请求,Selector中对注册状态及客户端可读性验证,正常情况下,已通过第一步,所以直接连接到处理器进行读写操作,根据需求执行业务逻辑,并响应给客户;
第三步:客户端连接可读,在向client响应客户端请求后,注册连接可读事件到Selector 中,所注册的是具体执行业务的Handler
NIO 网络编程模型
====创建连接===
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
====处理流===
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件
NIO网络模型
NIO网络模型请求链路
selector是nio网络模型的核心
NIO网络模型
NIO network model
NIO 网络模型
NIO 网络编程模型
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
NIO 网络编程模型
内部建议监听连接
1.注册建立连接事件(Selector)
客户端请求建立连接
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler 创建与客户端的连接
5.Acceptor Handler 响应客户端建立连接请求
6.Accpetor Handler 向 selector 中注册可读事件
客户端发送请求(建立在连接基础上)
7.客户端发送请求至 selectot
8.selector 启动连接读写器 (Read&WriteHandler)
9.Read&WriteHandler 处理与客户端读写业务
10.Read&WriteHandler 相应客户端请求
11.Read&WriteHandler 向 selector 注册可读事件
NIO 网络编程模型
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件