(一)Mina源码解析之整体架构

本文详细介绍了Apache Mina的架构及工作原理,包括I/OService层处理真实I/O,I/OFilterChain层过滤并转换字节流,以及I/OHandler层处理业务逻辑等内容。此外还介绍了Mina Server端如何监听请求、处理请求并发送应答信息。

        Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。

        Mina 同时提供了网络通信的Server 端、Client 端的封装,无论是哪端,Mina 在整个网通通信结构中都处于如下的位置:

Mina的内部结构如下:

上图中,我们可以很明显的看出,基于mina的应用被分成3层

第一层I/O Service:处理真实的I/O

第二层I/O FilterChain:过滤盒传输字节流成指定的数据结构

第三层I/O Handler:处理真实的业务逻辑

server结构:

server在我们指定的端口监听请求,处理请求发送应答信息,当我们使用TCP和UDP传输协议时它还会为每个client创建和处理session


IoAcceptor监听是否有连接或数据包的到来,对于一个新的连接,一个新的session会被创建随后所有的从这个IP端口的请求会被在这个session中处理,从session中接收的所有数据包会横穿FilterChain ,Filter可以用来修改数据包的内容,例如将字节流转化成Object,我们还可以通过自定义的编解码器将字节流转化成我们指定的任何类型,最终数据包或Object会到达IoHandler,IoHandler用来处理我们的业务逻辑

Client结构

client需要连接server,发送消息处理应答

client第一次创建IoConnector,初始化和server的连接,一个session会被创建然后和这个连接绑定,client向这个session中写入数据,穿过过滤器链然后发送给server,所有从这个server接收的应答穿过过滤器链来到IoHandler,进行业务逻辑处理



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值