MINA的基础应用架构
从这个图里面可以看到,MINA是你的应用(作为一个客户端或服务器)和下方的网络层之间的粘合剂,网络层可以是基于TCP、UDP、VM内部通讯或类似RS-232的串行通讯协议。
你仅需要基于MINA设计你的应用而不需要处理网络层的所有复杂性。
MINA的内部结构:
概况来讲,基于MINA的应用被分为3层:
(1)I/O服务:进行实际的I/O操作
(2)I/O过滤器链:过滤/转换字节为所需的数据结构,及将数据结构转换为字节
(3)I/O 处理器:在这里实现实际的业务逻辑
所以,为了创建一个基于MINA的应用,你需要:
(1)创建一个I/O服务:选择一个已经可用的服务(*Acceptor)或创建一个你自己的
(2)创建一个过滤器链:选择一个已存在的过滤器或创建一个自定义的过滤器来转换请求及响应
(3)创建一个I/O处理器:编写业务逻辑,处理不同的消息。
服务器架构图:
- IOAcceptor监听网络获取到来的连接或数据包
- 一个新的会话将为一个新的连接创建,随后的所有来自IP地址/端口的请求都将在这个会话中进行处理。
- 一个会话所接收到的所有包,按照图示遍历过滤器链。过滤器可以被用来修改报的内容(例如转化成对象,增加、删除信息等)。从原始字节到高等级对象的互相转化、包编码、解码器是非常有用的。★★★★★
- 最终保或转换的对象加载到IOHandle中,IOHandle被用来实现业务需求。
回话创建的过程