apache mina 学习笔记一(基本介绍)

一、介绍

Apache mina是一个帮助用户方便开发高性能和高扩展性的网络应用框架。它在java NIO基础上提供了一组抽象的事件驱动的异步API,比如TCP/IP 和 UDP/IP。

 官网地址:

http://mina.apache.org/

 

apache MINA有如下身份

1. NIO 框架库

2. 客户端服务端框架库

3. 一个网络套接字库

 

子项目

Asyncweb : 一个基于MINA异步消息的HTTP服务。

FtpServer : 一个FTP服务

SSHd : 支持SSHH 协议的java库

Vysper : 一个XMPP 服务

 

二、特性

1. 不同的传输类型统一的API

    1.1 TCP/IP 和 UDP/IP 基于java NIO

    1.2  串行的通信(RS 232) 基于RXTX

    1.3 在虚拟机的管道通信

    1.4 自定义的传输类型

2. 过滤接口作为扩展的点,类似Servlet的Filter

3. 低级别和高级别的API

    3.1 低级别的使用ByteBuffers

    3.2 使用用户定义的消息对象和编码

4.高度可定制的线程模型

    4.1 单线程

    4.2 线程池

    4.3 多个线程池

5. SSL TLS  启动TLS 使用java5的 SSLEngine

6. 高负载屏蔽和通信限制

7. 可用mock object 进行单元测试

8. 可通过JMX管理

9. 支持基于流的输入输出 通过(StreamIoHandler)

10. 集成著名的容器如(picoContainer 和Spring)

11. 平滑的从netty迁移 , netty是nima的前身

 

三、版本

截止目前为止,Mina稳定的版本是(2.0.7),所以之后有关Mina的博客都是基于这个版本的

 

四、预备条件

1.MINA 2.0.7

2.JDK1.5+

3.log4J 1.2+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Mina是一个用于开发高性能、高可扩展性网络应用程序的Java框架。它提供了一种简单和灵活的方式来构建基于TCP/IP和UDP/IP协议的客户端和服务器端应用。 在学习Apache Mina时,首先需要了解它的基本概念和架构。Mina采用了NIO(非阻塞IO)的方式来实现网络通信。它的核心组件是IoService,它负责接收客户端的连接请求,并将请求分发给对应的I/O处理器进行处理。而I/O处理器则负责实际的数据读写和业务逻辑的处理。 在使用Mina进行开发时,我们首先需要创建一个IoAcceptor对象来监听指定的端口,并设置相应的处理器。当有客户端发起连接请求时,IoAcceptor会接收并处理这些请求。同时,我们还需要编写相应的I/O处理器来对接收到的数据进行处理和响应。 Mina还提供了一些便捷的工具类和接口,以简化开发过程。例如,可以使用IoBuffer来处理数据的读写,它类似于Java NIO中的ByteBuffer。同时,Mina还提供了一些过滤器,可以在数据传输的过程中进行一些常用的操作,比如加密、压缩、编解码等。 值得一提的是,Mina支持多种编解码协议,包括自定义的协议。它可以根据指定的编解码规则将数据进行解析和组装。这在实际应用中非常实用,因为经常会遇到需要对传输的数据进行编码和解码的情况。 总的来说,学习Apache Mina需要了解其基本概念、架构和核心组件,并掌握基本的开发流程和常用的工具类和接口。通过学习Mina,我们可以更加方便地开发出高性能、高可扩展性的网络应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值