MINA 总体视图:
从以上图我们可以看出:NIMA基于你的应用(客户端或服务端)与底层网络之间,它可以基于TCP,UDP,或VM或甚至一个RS-232C 串口行协议的客户端。
NIMA每个组成部分的作用:
工作流程:
总体来说,NIMA框架分为三层:
1、I/O Service ——执行I/O操作
2、I/O Filter Chain——过滤链
3、I/O Handler——业务逻辑处理
所以要创建一个基于NIMA框架的应用程序,你必须:
- Create an I/O service - 创建一个已经(*Acceptor)服务
- Create a Filter Chain - 创建一系列的Filters并加入到过滤链
- Create an I/O Handler - 实现自己的业务逻辑
服务端框架图:
服务端主要逻辑思路:
- IOAcceptor 监听网络数据包传入的连接;
- 为每个新的连接创建一个session,同一个端口—+ip的后续请求将通过session进行处理;
- 同一个session收到的所有数据,通过过滤链进行过滤.通过PacketEncoder/Decoder进行有效的编码,解码处理;
- 最后根据自己的业务需求完成Handler的业务逻辑处理.
客户端框架图:
客户端主要逻辑思路:
- 客户端首先创建一个IOConnector , 连接一个server;
- 连接之后,一个session被创建关联相关的连接;
- 应用程序通过session向服务端发送数据,数据经过一系列的过滤链之后发送给服务端;
- 所有的收到的信息需通过过滤链之后达到IOHandler进行业务逻辑处理;