`
luozhong915127
  • 浏览: 186400 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Apache Mina框架分析

阅读更多

配置环境

http://luozhong915127.iteye.com/blog/1451931

 

Mina的位置


 

 

Mina的位置解析

 

       Mina处于中间层,它不关心底层网络数据如何传输,只负责接收底层数据,过滤并转换为Java对象提供给我们的应用程序,然后把应用程序响应值过滤并转换为底层识别的字节,提供给底层传输;

 

       ------总之:Mina是底层数据传输和用户应用程序交互的接口!

 

 

 Mina的三个核心接口

 

IoService接口

 

IoFilter接口

 

IoHandler接口

Mina工作流程图



 

 

Mina的工作流程解析

 

第一步创建服务对象(客户端或服务端) 

 ---IoService接口实现

 

 

第二步数据过滤(编码解码等)      

    ---IOFilter接口实现

 

 

第三步业务处理    

   ---IoHandler接口实现

 

 

IoService接口  

 

常用接口为:IoServiceIoAcceptorIoConnector

 

常用类为:NioSocketAcceptorNioSocketConnector

 

 

类图的关系



 

 

 

 

IoFilter接口

 

 

1)记录事件的日志(Mina默认提供了LoggingFilter

2)测量系统性能

3)信息验证

4)过载控制

5)信息的转换(主要就是编码和解码)

6)和其他更多的信息

 

 

类结构

 

常用接口为:IoFilterIoFilterChainBuilder

 

常用类为:IoFilterAdapter,           DefaultIoFilterChainBuilder

ProtocolCodecFilterLoggingFilter

 

 

类图



 

 

IoHandler接口

 

 

sessionCreated:当一个新的连接建立时,由I/O processor thread调用;

sessionOpened:当连接打开是调用;

messageReceived:当接收了一个消息时调用;

messageSent:当一个消息被(IoSession#write)发送出去后调用;

sessionIdle:当连接进入空闲状态时调用;

sessionClosed:当连接关闭时调用;

exceptionCaught:当实现IoHandler的类抛出异常时调用;

 

 

 

session调用

 

 

Connected:会话被创建并使用;

Idle:会话在一段时间(可配置)内没有任何请求到达,进入空闲状态;

Closing:会话将被关闭(剩余message将被强制flush);

Closed:会话被关闭;

 

 

 

session调用的状态图


 

 

 

 

<!--EndFragment-->

  • 大小: 17.6 KB
  • 大小: 40.3 KB
  • 大小: 17.5 KB
  • 大小: 37.7 KB
  • 大小: 38.4 KB
分享到:
评论

相关推荐

    Apache mina框架入门教程

    该文档较好的介绍了,apache mina框架的使用方法。

    apache mina 框架实例

    apache mina 框架 实例 自定义协议包 自定义编码器 解码器 服务端 客户端

    Apache MINA框架相关资料

    包括中文参考手册,mina2的源码分析,api文档,MINA和spring结合等相关资料

    Apache MINA框架所用的jar包

    Java中使用Apache MINA框架所用的jar包,将其导入到项目中即可

    mina 框架学习文档

    apache mina 框架的学习文档,通过此文档可以基本了解mina框架。

    Apache Mina网络通信应用框架实例

    Apache Mina Server 是一个网络通信应用框架 基于 TCP/IP、UDP/IP协议栈的通信框架 支持串口和虚拟机内部的管道等传输方式 Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用 Mina 提供了事件驱动、异步操作...

    Apache mina源代码框架解析

    写这篇文档主要是想对刚接触Mina的人讲解一些Mina的基本知识,由浅入深,一步一步的学习Mina思想的精髓。这里只是简单的涉及一点,不会对其做很深入的探讨。但是Mina的服务器和客户端在很大的程度上都是一样,所以...

    Apache MINA开发相关jar包

    Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。 apache-mina-2.0.7-bin.zip,apache-mina-2.0.7-src.zip,log4j-1.2.17.zip,slf4j-api-1.6.6.jar,slf4j-api-1.6.6-...

    apache mina 中文版 学习资料(很详细的哟)

    很详细的描述了apache mina 框架,对于那些对于英文不是很懂得人,这简直就是福音啊,哈哈

    Apache Mina核心jar包:mina-core-2.0.7

    Apache MINA是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。 当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版...

    Apache Mina Server 是一个网络通信应用框架

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高...

    apache下的mina框架的源码

    可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式,是一个开发高性能和高可伸缩性网络应用程序的网络应用框架的源码.

    Apache MINA 2.0 用户指南中英文对照阅读版[带书签]

    本资源包含两个 pdf 文档,一本根据官方最新文档 (http://mina.apache.org/mina-project/userguide/user-guide-toc.html) 整理的 mina_2.0_user_guide_en.pdf,一个中文翻译的 mina_2.0_user_guide_cn.pdf。...

    apache下的mina框架

    可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式,是一个开发高性能和高可伸缩性网络应用程序的网络应用框架

    MINA框架源码

    从github上下载的mina框架源码 Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便 apache mina apache mina...

    Apache Mina jar包

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架

    Apache MINA基于JAVA的网络服务器框架 教程.zip

    Apache MINA基于JAVA的网络服务器框架 教程.zip

    apache mina

    Mina 2.0.16 简介 代码实例 Mina 是Apache开发的一个开源的网络通信框架,基于java NIO实现。 建立server与client之间的会话连接,对会话消息进行过滤; 非阻塞消息会话机制; 通过自定义的通信协议进行编解码消息。

    Apache-Mina-2.rar_apache mina_java mina_mina_mina-core-1.1.3

    Apache Mina中文参考手册 Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序

    mina框架源码及jar包

    apache-mina-2.0.4 mina框架的源码及jar包

Global site tag (gtag.js) - Google Analytics