`
ikon
  • 浏览: 107920 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache Mina使用手记(一)

 
阅读更多

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 Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)

    apache-mina-2.0.4.rar_apache mina_mina

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

    一个Apache MINA使用案例源代码ApacheMina

    Apache MINA是一个高性能、异步事件驱动的网络应用程序框架,主要设计用于简化开发服务器端的高性能网络应用。这个框架提供了一种抽象层,允许开发者使用相同的API处理多种不同的传输协议,如TCP/IP、UDP/IP以及SSL/...

    Apache Mina帮助文档

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

    apache Mina的完整学习资料

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

    关于apache Mina Server

    深入理解Apache_Mina_(1)----_Mina的几个类 深入理解Apache_Mina_(2)----_与IoFilter相关的几个类 深入理解Apache_Mina_(3)----_与IoHandler相关的几个类 深入理解Apache_Mina_(4)----_IoFilter和IoHandler的区别和...

    Apache Mina 入门Demo

    8. **实战经验**:博主royal2xiaose的博客文章可能分享了如何使用Mina创建一个基础的网络服务,包括项目的初始化、编写过滤器、处理数据等步骤,为初学者提供了一个很好的学习起点。 通过深入学习和实践这个Apache ...

    Apache MINA 2.0 用户指南( 缺第一章节)

    Apache MINA 2.0 是一款高性能且易于使用的网络应用程序框架,它简化了开发人员在网络编程方面的负担,允许开发者专注于应用程序的核心功能,而不是底层的网络细节。MINA 2.0 支持多种网络协议,包括 TCP 和 UDP,...

    Apache mina2学习笔记DEMO

    在这个"Apache MINA2学习笔记DEMO"中,我们很可能会看到如何使用MINA来创建一个自定义协议的示例。自定义协议通常是为了满足特定应用的需求,例如高效的数据传输、安全性或者特定的编码格式。MINA允许开发者定义自己...

    apache mina实例免费下载

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个开源框架,主要设计用于简化网络应用程序的开发,尤其是基于TCP和UDP协议的应用。它提供了高度可扩展和高性能的非阻塞I/O模型,使得...

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

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

    Apache MINA框架相关资料

    1. **中文参考手册**(Apache_Mina_Server_2.0中文参考手册V1.0.pdf):这是一份详尽的MINA框架使用手册,用中文详细介绍了MINA的核心概念、设计模式以及如何创建服务器和客户端。它包含了各种MINA组件的用法,如...

    Apache MINA 线程模型配置

    Apache MINA 是一个用于构建网络应用程序的高性能、高可靠性的框架。它提供了丰富的功能来简化网络编程,包括TCP/IP 和 UDP/IP 协议的支持。线程模型是 MINA 的核心组成部分之一,负责管理 I/O 操作中的线程分配与...

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

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

    Apache Mina Server 2.0 抢鲜体验

    通过阅读提供的博客链接(尽管实际链接不可用),你可以进一步了解如何使用Apache Mina 2.0构建网络服务器,以及如何利用其特性来优化你的应用程序。此外,下载的压缩包文件“minaTest”可能包含示例代码或测试项目...

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

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

    apache mina-spring 服务端程序

    Apache Mina是一个高度可扩展的网络通信框架,主要用于构建高性能、高并发的网络应用程序,如服务器端应用。它提供了一种简单而强大的编程模型,使得开发者可以专注于业务逻辑,而不是底层的网络通信细节。Spring...

    apache_mina_maven 客户端测试程序

    在“apache_mina_maven 客户端测试程序”中,我们可以推断这是一份使用 Maven 构建系统的 Apache MINA 客户端示例代码。Maven 是一个项目管理和综合工具,它帮助 Java 开发者管理项目的构建、报告和文档生成过程。...

    Apache Mina2服务器和客户端简单实例

    在本实例中,我们将探讨如何使用Apache Mina2构建一个简单的服务器和客户端。 首先,让我们了解一下Mina2的核心概念。Mina2基于Java NIO(Non-blocking I/O)库,提供了异步I/O操作,这意味着它不会因为等待数据而...

Global site tag (gtag.js) - Google Analytics