ApacheMina2-(1)介绍

1  ApacheMina 介绍           

           第一次接触ApacheMina还是在2012年的时候,当时公司要求开发一款自动分配工单的系统平台,类似于派工单的系统,由一开始最初的TCP Socket编程,变成了后来渐渐的使用了Mina框架,首先

Mina2 框架是一款开源的TCP框架,说白了就是一款通信脚手架,通过这个脚手架我们可以在上面进行二次开发,达到用户的需求。

            为了尊重原著我们看一下ApacheMINA的介绍,登录官方网站 

            http://mina.apache.org/

            Apache MINA是一个网络应用程序框架,可帮助用户轻松开发高性能和高可伸缩性的网络应用程序。它通过Java NIO通过各种传输(例如TCP / IP和UDP / IP)提供了一个抽象的事件驱动的异步API。

Apache MINA通常被称为:

  • NIO框架库,
  • 客户端服务器框架库,或
  • 网络套接字库

Apache MINA附带许多子项目:

  • AsyncWeb:基于MINA异步框架构建的HTTP服务器
  • FtpServer:FTP服务器
  • SSHd:一个支持SSH协议的Java库
  • Vysper:XMPP服务器

从以上描述可以看出几个关键要点

       1) Mina2是一个NIO的框架库,也就是一种非阻塞技术

       2)他具备了我们需要使用的一些客户端接口

       3)支持我们熟悉的网络套接字结构,至于网络套接字结构可以参考TCP编程资料

ApacheMINA他是一款基于应用层的通信开发框架。

2  ApacheMINA软件结构

     

   上图可以看出,MINA在一般开发过程中是位于 网络层与应用层之间的组件,MINA不仅对上层提供了可扩展的接口,也对下层提供了可连接的接口。

    更为细致的剖析图如下所示:

   

 

Application Layer:应用层对接我们MINA中的IoHandler,即IoHandler中会有一些接口方法来对接我们应用中的其他接口

IoFilterChain:过滤器,此过滤器是将数据转换为合适的数据格式进行为下一层进行传输,过滤器是使用的是过滤链的形式

IoService:负责与其他远程设备进行通信

ApahceMina2 分为三层

I/O Service,负责实际处理IO操作,如设备链接,释放等操作

I/O Filter Chain,根据需要,过滤,输入输出数据,或者在过滤器中将数据进行格式化封装均可

I/O Handler,应用的业务逻辑层,面向实际的业务,如收到数据之后如何处理等操作。

 

     

    

 

posted @ 2020-06-08 22:46  小叮当2020  阅读(221)  评论(0)    收藏  举报