(一)Mina源码解析之整体架构
来源:互联网 发布:跟淘宝一样的购物平台 编辑:程序博客网 时间:2024/05/04 20:04
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,进行业务逻辑处理
- (一)Mina源码解析之整体架构
- Spring源码深度解析:Spring入门篇(一)之 Spring整体架构
- Spring源码深度解析(一)Spring的整体架构
- Spring源码深度解析(一)Spring的整体架构
- Spring源码深度解析(一)Spring的整体架构
- Spring源码深度解析(一)Spring的整体架构
- NIO框架之MINA源码解析(一):背景
- NIO框架之MINA源码解析(一):背景
- Docker源码分析(一)之整体架构图
- Mina源码阅读笔记(一)-整体解读
- Mina源码阅读笔记(一)-整体解读
- Tomcat源码解析(一):tomcat整体架构解析
- 【jQuery源码浅析】(一)--整体架构
- jQuery整体架构源码解析
- jQuery整体架构源码解析
- jQuery源码解析-整体架构
- (二)Mina源码解析之IoService
- (三)Mina源码解析之IoFilter
- 树状数组
- 用C语言完成简单的计算器功能(1)
- hadoop调试技巧--解除已经绑定的端口
- Android自定义没有资源文件的圆形进度条ProgressBar
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
- (一)Mina源码解析之整体架构
- android安卓手机分屏多窗口实现方法
- POJ3468 A Simple Problem with Integers 题解&代码
- itoa函数的用法
- ListView的优化整理
- PHP 实现文件的writeInt writeUTF readInt readUTF
- java final
- smart学习之旅
- MySQL创建存储过程