zoukankan      html  css  js  c++  java
  • Apache MINA 框架之IoService介绍

    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类图:

  • 相关阅读:
    【PAT】1020. Tree Traversals (25)
    Pongo建立信号基站-实际上还是考中位数
    从此不再惧怕URI编码:JavaScript及C# URI编码详解
    WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
    命令行下开启与关闭windows防火墙关端口(转)
    MySql数据库批量备份命令
    C#检查文件是否被占用
    C#使用Gzip解压缩完整读取网页内容
    [转]免费电话网专用免费平台
    libQt5Core.so: undefined reference to `dlclose@GLIBC_2.4'
  • 原文地址:https://www.cnblogs.com/quyongjin/p/3128348.html
Copyright © 2011-2022 走看看