Apache MINA 框架之IoService介绍

来源:互联网 发布:手机淘宝怎么与优惠券 编辑:程序博客网 时间:2024/05/16 05:24
IoService为NIMA提供基本的I/O服务和I/O Session管理。它是NIMA框架最重要的组成部分。实现IoService接口或它的子接口能对底层的I/O进行操作处理。
 
IoService的思维导图:

 

Responsabilities:

sessions management :创建和删除sessions

filter chain management :管理过滤链,并允许用户改变

handler invocation :当收到新消息时促发处理

statistics management : 更新发送的消息数量,字节发送,等等....

listeners management : 监听管理

communication management : 处理的数据传输

 

IoService接口基于管理I/O的,所以有关于I/O的所有功能操作;

 

接口具体细节,各方法的接口:

  • getTransportMetadata()
  • addListener()
  • removeListener()
  • isDisposing()
  • isDisposed()
  • dispose()
  • getHandler()
  • setHandler()
  • getManagedSessions()
  • getManagedSessionCount()
  • getSessionConfig()
  • getFilterChainBuilder()
  • setFilterChainBuilder()
  • getFilterChain()
  • isActive()
  • getActivationTime()
  • broadcast()
  • setSessionDataStructureFactory()
  • getScheduledWriteBytes()
  • getScheduledWriteMessages()
  • getStatistics()

具体方法的功能可查API文档

IoService两个最重要的实现子类:

  • IoAcceptor
  • IoConnector

IoAcceptor 负责建立服务端与客服端之间的连接。一定程度上,我们可以称作它是服务端。

IoAcceptor的实现类:

  • NioSocketAcceptor : 非阻塞socket传输
  • NioDatagramAcceptor : 非阻塞的UDPSocket传输
  • AprSocketAcceptor : 基于APR的阻塞的Socket传输
  • VmPipeSocketAcceptor : in-VM 传输

IoAcceptor类图:

 

 

IoConnector

IoConnector实现类:

  • NioSocketConnector : 非阻塞的Socket连接
  • NioDatagramConnector : 非阻塞的UDP Socket连接
  • AprSocketConnector : 基于APR的阻塞连接
  • ProxyConnector : 连接的动态代理
  • SerialConnector : 串口连接
  • VmPipeConnector : in-VM 连接

 

IoConnector类图:

原创粉丝点击