Apache Mina 通信框架

1、Mina 框架简介
          Apache Mina (全称:Multipurpose Infrastructure for Network Applications) 
    是用于开发高性能和高可用的网络应用程序的基础框架,它对Java中的Socket和NIO
    进行了有效和清晰的封装,方便开发人员 开发TCP/UDP程序,从而抛开在原始的Socket时
    需要考虑的各种繁杂又烦人的问题,( 线程、性能、会话等),把更多精力专著在应用中的业务逻辑开发上。

2、客户端通信过程

(1)通过SocketConnector同服务器建立连接

(2)链接建立之后I/O的读写交给了I/O Processor线程,I/OProcessor 是多线程的

(3)通过I/O Process 读取的数据经过IoFilterChain 里所有配置的IoFilter,IoFilter进行消息的过滤

        格式转换,在这个层面可以定制一些自定义的协议。

(4)最后IoFilter 将数据交给Handler 进行业务处理,完成了整个读写的过程。

(5)写入过程也是类似,只是刚好倒过来,通过IoSession.Write 写出数据,然后Handler进行写入的业务处理,处理完交给IoFilterChain,进行消息过滤和协议的转换,最后通过Io/Processor将数据写出到Socket通道。

(6) IoFilterChain 作为消息过滤链

    1、读取的时候是从低级协议到高级协议的过程,一般来说从Byte 字节逐渐转换成业务对象的过程。

    2、写入的时候一般是从业务对象到字节byte的过程,IoSession贯穿整个通信过程的始终。

扫描二维码关注公众号,回复: 2319224 查看本文章

3、Mina基本类的描述(常用接口)

    (1)IoAccepter 相当于网络应用程序中的服务器端

    (2)IoConnector 相当于客户端

    (3)IoSession 当前客户端到服务端的一个连接实例

    (4)IoHandler 业务处理类

    (5)IoFilter 过滤器用于接通讯接口与业务接口

4、Mina 核心内容

    (1)服务端:IoAcceptor 接收连接 

    (2)客户端:NioSocketConnector 客户连接

    (3)Filter 过滤器:Logging     文本编码过滤器,对象编解码 

    (4)Handler处理器:创建连接,打开连接,信息接收后触发事件,信息发送后触发事件,连接关闭。

猜你喜欢

转载自blog.csdn.net/izipfnybwr/article/details/81018861