`
luozhong915127
  • 浏览: 189151 次
  • 性别: 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框架相关资料”涵盖了对MINA框架的全面学习材料,包括中文参考手册、源码分析、API文档和与Spring框架的整合指南。 1. **中文参考手册**(Apache_Mina_Server_2.0中文参考手册V1.0.pdf):这...

    apache mina 框架实例

    Apache Mina框架的核心思想是基于事件驱动和非阻塞I/O,这使得它在处理大量并发连接时表现出色。在Mina中,开发者可以创建一个服务端来监听特定端口,并接收客户端的连接请求。一旦连接建立,Mina会通过事件模型来...

    Apache mina框架入门教程

    Apache Mina 框架是一个强大的网络通信应用框架,它主要针对基于TCP/IP和UDP/IP的协议栈,同时也支持Java对象序列化和其他通信方式。Mina 的核心设计目标是帮助开发者快速构建高性能、高可扩展性的网络应用。它采用...

    (源码)基于Apache Mina框架的短信通信系统.zip

    # 基于Apache Mina框架的短信通信系统 ## 项目简介 本项目是一个基于Apache Mina框架的短信通信系统,主要用于实现高性能、高扩展性的网络通信应用。Apache Mina Server是一个网络通信应用框架,支持TCPIP、UDPIP...

    apache-mina-2.0.4.rar_apache mina_mina

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个"apache-mina-2.0.4.rar"压缩包包含的是Apache Mina 2.0.4版本的源代码,是深入理解和定制Mina的...

    (源码)基于JavaFX和ApacheMina框架的即时通讯系统.zip

    # 基于JavaFX和Apache Mina框架的即时通讯系统 ## 项目简介 本项目是一个基于JavaFX和Apache Mina框架的即时通讯系统,旨在提供类似于腾讯TIM的通讯功能。系统支持文字消息、图片消息、文件传输、好友管理等功能,...

    Apache mina源代码框架解析

    Apache Mina是一个用Java编写的网络通信框架,它简化了创建高性能、高可用性的网络服务的过程。Mina的核心思想是提供一个与传输层协议无关的API,使得开发者可以专注于业务逻辑,而不需要关心底层的网络通信细节。在...

    Apache MINA框架所用的jar包

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,主要用于简化开发服务器端和客户端的网络应用。MINA提供了一种抽象层,使得开发者可以专注于...

    mina 框架学习文档

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

    apache Mina的完整学习资料

    Apache Mina是一个开源框架,主要用于构建高性能、高可用性的网络应用程序。这个压缩包包含了全面的学习资料,适合初学者深入理解Mina的原理和使用方法。其中,中文参考手册的加入使得学习过程更加友好,便于非英语...

    Apache Mina帮助文档

    Apache Mina是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务端应用程序。它提供了事件驱动、异步I/O处理模型,使得开发者能够更专注于业务逻辑,而不是底层网络编程的复杂性。Mina主要应用于Java...

    apache下的mina框架

    标题中的“apache下的mina框架”表明我们将探讨的是Apache软件基金会下的这个项目。 MINA的核心特性在于它的异步事件驱动模型,这使得它在处理大量并发连接时表现出色。这种模型基于Java NIO(Non-blocking I/O),...

    apache-mina-2.0.4.rar_Mina框架_SerialAddress_mina_mina apache down

    在标题"apache-mina-2.0.4.rar_Mina框架_SerialAddress_mina_mina apache down"中,我们关注到"SerialAddress",这在Mina框架中是一个关键概念。 1. **Mina框架**:Mina的核心在于其非阻塞I/O模型,基于Java NIO...

    apache mina实例免费下载

    压缩包中的"mina"文件很可能包含了MINA的示例代码,这些代码可以帮助初学者快速理解如何使用MINA框架。通过这些实例,你可以学习到如何配置Acceptor、创建Filter链、编写Handler以及如何处理各种网络事件。这些实例...

    mina框架资源包

    Mina框架,全称为Apache Mina,是一款基于Java开发的网络通信应用框架,它提供了一种简单而高性能的方式来构建网络服务,尤其在处理TCP/IP、UDP/IP以及SSL/TLS协议方面表现卓越。本资源包包含了实现Mina框架基础功能...

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

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

    apache mina 学习笔记三(子项目FtpServer)

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个Java框架,用于构建高性能、高可用性的网络应用程序。MINA 提供了一种简单而强大的API,开发者可以使用它来处理TCP/IP和UDP/IP协议,如...

    Apache mina2学习笔记DEMO

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个Java框架,专为高性能、异步...无论你是初学者还是经验丰富的开发者,这个DEMO都将帮助你更好地掌握MINA框架,并将其应用于实际项目中。

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

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

    apache mina-spring 服务端程序

    标签中的"mina"指的是Apache Mina框架,它是服务端通信的核心组件。"socket"是指网络通信的基础,即套接字,Mina就是建立在套接字通信之上的高级抽象。"服务端"表明这个项目关注的是网络应用的服务器部分,负责接收...

Global site tag (gtag.js) - Google Analytics