1.Apache Mina是一个高性能的基础网络构架平台,构建在java NIO的基础上
2.Mina使用了SLF4J做为日志记录器,全称Simple Logging Facade for Java,它是一个日志门面,只负责为客户端提供应用接口,实际的日志记录由Log4j/JUL等日志记录器实现。如下图所示:
3.Mina主要有IoConnector,IoAccepter,IoSession,IoSessionConfig,IoHandler,IoFilter,IoFuture,EventListener等对象组成
4.IoConnector实现客户端的连接功能,IoAccepter实现服务端的接收功能,它们都继承自IoService
5.IoSession为客户端和服务端的一个会话,每一个会话都包括会话的建立,打开,注销等功能
6.IoSession中还包括发送或接收到的数据,以及会话上触发相应事件的侦听器
7.而IoSession的相关配置由IoSessionConfig实现
8.IoHandler为数据处理器,在此对象中可以对接收到的数据进行具体的业务处理,也可以决定发送数据成功后是否进行其他的操作。很类似VB当中的事件处理。
9.IoFilter决定着在IoAccepter接收到原始数据之后,IoHandler进行业务处理之前,或反过来的对数据的中间处理过程
10.第一个IoFilter可以实现一个子功能,比如LoggingFilter可以实现对接收或发送数据的进行日志处理,其中LoggingFilter根据加载的具体类库动态判断具体的日志操作
11.在IoFilter中,也可以进行协议或编码解码处理,可以支持byte/txt/http/ftp/xml等各种方法
12.在实际的实现 中,多个过滤器由IoFilterChain进行管理,类似一个管道,原始数据从管道的一端进入,过滤层层过滤处理,最终得到需要的数据,交给IoHandler进行业务处理
13.IoFuture指定IO操作包括connect/read/write等的未来状态
14.EventListener事件侦听器,一般会加载到IoSession上面,进行事件监听。比如对接收数据的事件触发后,会在侦听器中调用IoHandler的MessageReceived()方法来处理。
分享到:
相关推荐
Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)
Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个"apache-mina-2.0.4.rar"压缩包包含的是Apache Mina 2.0.4版本的源代码,是深入理解和定制Mina的...
Apache MINA是一个高性能、异步事件驱动的网络应用程序框架,主要设计用于简化开发服务器端的高性能网络应用。这个框架提供了一种抽象层,允许开发者使用相同的API处理多种不同的传输协议,如TCP/IP、UDP/IP以及SSL/...
Apache Mina是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务端应用程序。它提供了事件驱动、异步I/O处理模型,使得开发者能够更专注于业务逻辑,而不是底层网络编程的复杂性。Mina主要应用于Java...
Apache Mina是一个开源框架,主要用于构建高性能、高可用性的网络应用程序。这个压缩包包含了全面的学习资料,适合初学者深入理解Mina的原理和使用方法。其中,中文参考手册的加入使得学习过程更加友好,便于非英语...
深入理解Apache_Mina_(1)----_Mina的几个类 深入理解Apache_Mina_(2)----_与IoFilter相关的几个类 深入理解Apache_Mina_(3)----_与IoHandler相关的几个类 深入理解Apache_Mina_(4)----_IoFilter和IoHandler的区别和...
8. **实战经验**:博主royal2xiaose的博客文章可能分享了如何使用Mina创建一个基础的网络服务,包括项目的初始化、编写过滤器、处理数据等步骤,为初学者提供了一个很好的学习起点。 通过深入学习和实践这个Apache ...
Apache MINA 2.0 是一款高性能且易于使用的网络应用程序框架,它简化了开发人员在网络编程方面的负担,允许开发者专注于应用程序的核心功能,而不是底层的网络细节。MINA 2.0 支持多种网络协议,包括 TCP 和 UDP,...
在这个"Apache MINA2学习笔记DEMO"中,我们很可能会看到如何使用MINA来创建一个自定义协议的示例。自定义协议通常是为了满足特定应用的需求,例如高效的数据传输、安全性或者特定的编码格式。MINA允许开发者定义自己...
Apache MINA(Multipurpose Infrastructure for Network Applications)是一个开源框架,主要设计用于简化网络应用程序的开发,尤其是基于TCP和UDP协议的应用。它提供了高度可扩展和高性能的非阻塞I/O模型,使得...
Apache MINA(Multipurpose Infrastructure for Network Applications)是一个Java框架,用于构建高性能、高可用性的网络应用程序。MINA 提供了一种简单而强大的API,开发者可以使用它来处理TCP/IP和UDP/IP协议,如...
1. **中文参考手册**(Apache_Mina_Server_2.0中文参考手册V1.0.pdf):这是一份详尽的MINA框架使用手册,用中文详细介绍了MINA的核心概念、设计模式以及如何创建服务器和客户端。它包含了各种MINA组件的用法,如...
Apache MINA 是一个用于构建网络应用程序的高性能、高可靠性的框架。它提供了丰富的功能来简化网络编程,包括TCP/IP 和 UDP/IP 协议的支持。线程模型是 MINA 的核心组成部分之一,负责管理 I/O 操作中的线程分配与...
Apache MINA是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。 当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版...
通过阅读提供的博客链接(尽管实际链接不可用),你可以进一步了解如何使用Apache Mina 2.0构建网络服务器,以及如何利用其特性来优化你的应用程序。此外,下载的压缩包文件“minaTest”可能包含示例代码或测试项目...
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高...
Apache Mina是一个高度可扩展的网络通信框架,主要用于构建高性能、高并发的网络应用程序,如服务器端应用。它提供了一种简单而强大的编程模型,使得开发者可以专注于业务逻辑,而不是底层的网络通信细节。Spring...
在“apache_mina_maven 客户端测试程序”中,我们可以推断这是一份使用 Maven 构建系统的 Apache MINA 客户端示例代码。Maven 是一个项目管理和综合工具,它帮助 Java 开发者管理项目的构建、报告和文档生成过程。...
在本实例中,我们将探讨如何使用Apache Mina2构建一个简单的服务器和客户端。 首先,让我们了解一下Mina2的核心概念。Mina2基于Java NIO(Non-blocking I/O)库,提供了异步I/O操作,这意味着它不会因为等待数据而...