mina 之IoService(翻译)
1.IoService的作用
IoService提供了基本的io服务并管理 I/O Sessions,详细内容如下:
- sessions管理 : 创建和删除sessions, 检测 idleness.
- 过滤器链管理 : 处理过滤链, 允许用户改变过滤链
- handler 触发: 当接收到新消息等时,调用 handler
- 统计管理 : 更新下面发送的信息量:消息, 比特流, 和其他的东西
- 监听器管理 : 管理用户可以建立的监听器
- 通信管理 : 处理服务端和客户端两者之间的数据传输
2.IoService详细
IoService是所有IoConnector和IoAcceptor的父接口,提供io服务和session管理。提供了如下方法:
- getTransportMetadata()
- addListener()
- removeListener()
- isDisposing()
- isDisposed()
- dispose()
- getHandler()
- setHandler()
- getManagedSessions()
- getManagedSessionCount()
- getSessionConfig()
- getFilterChainBuilder()
- setFilterChainBuilder()
- getFilterChain()
- isActive()
- getActivationTime()
- broadcast()
- setSessionDataStructureFactory()
- getScheduledWriteBytes()
- getScheduledWriteMessages()
- getStatistics()
3.服务端IoService之IoAcceptor
创建
public TcpServer() throws IOException {// Create a TCP acceptorIoAcceptor acceptor = new NioSocketAcceptor();// Associate the acceptor to an IoHandler instance (your application)acceptor.setHandler(this);// Bind : this will start the server...acceptor.bind(new InetSocketAddress(PORT));System.out.println("Server started..."); }
// Create an UDP acceptor IoAcceptor acceptor = new NioDatagramAcceptor();
销毁
// Stop the service, waiting for the pending sessions to be inactive acceptor.dispose(); 或者 // Stop the service, waiting for the processing session to be properly completed acceptor.dispose( true );
获取IoService状态:
isActive()
isDisposing()
isDisposed()
管理IoHandler
setHandler(IoHandler) 或者 getHandler()
管理过滤器链
// Add a logger filter DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); chain.addLast("logger", new LoggingFilter());或者 // Add a logger filter DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder(); chain.addLast("logger", new LoggingFilter());// And inject the created chain builder in the service acceptor.setFilterChainBuilder(chain);
4.客户端IoService之IoConnector
- NioSocketConnector : the non-blocking Socket transport Connector
- NioDatagramConnector : the non-blocking UDP transport * Connector*
- AprSocketConnector : the blocking Socket transport * Connector*, based on APR
- ProxyConnector : a Connector providing proxy support
- SerialConnector : a Connector for a serial transport
- VmPipeConnector : the in-VM * Connector*
转载于:https://www.cnblogs.com/davidwang456/archive/2013/04/09/3000717.html
mina 之IoService(翻译)相关推荐
- MINA系列学习-IoAccpetor
MINA系列学习-IoAccpetor 其实在mina的源码中,IoService可以总结成五部分service责任.Processor线程处理.handler处理器.接收器和连接器,分别对应着IoS ...
- MINA与JMX集成(翻译)
JMX(Java Management Extensions)用来管理和监视java应用程序. 增加JMX支持 为使MINA应用程序支持JMX,需要做以下工作: 创建/获取MBean服务器 // cr ...
- mina应用程序架构(翻译)
原文地址:http://mina.apache.org/mina-project/userguide/ch2-basics/application-architecture.html 鸟瞰图 内览图及 ...
- mina与spring集成(翻译)
源地址:http://mina.apache.org/mina-project/userguide/ch17-spring-integration/ch17-spring-integration.ht ...
- 快速开发mina(翻译)
本文的源地址为:http://mina.apache.org/mina-project/quick-start-guide.html 本文带你进入如何建立一个基于mina程序的全过程.本文将带领你建立 ...
- Apache MiNa 2 学习笔记
http://blog.csdn.net/cgwcgw_/article/details/18402769 http://download.csdn.net/detail/xiaozhu_1986/2 ...
- Mina源码阅读笔记(一)-整体解读
2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...
- Camera开发系列之六-使用mina框架实现视频推流
章节 Camera开发系列之一-显示摄像头实时画面 Camera开发系列之二-相机预览数据回调 Camera开发系列之三-相机数据硬编码为h264 Camera开发系列之四-使用MediaMuxer封 ...
- Apache Mina 介绍
为什么80%的码农都做不了架构师?>>> 1.MINA 框架简介 下图为本人根据对MINA的简要理解,所画出来的框架简图: Apache MINA 是一个网络应用框架,有助于用 ...
最新文章
- 【2019.7.16 NOIP模拟赛 T1】洗牌(shuffle)(找环)
- 读书笔记之费曼讲义第一册
- VTK修炼之道6_仔细分析一个复杂程序
- OpenCASCADE:OCCT应用框架OCAF之函数机制使用示例
- java 分布式电子商务云平台b2b b2c o2o需要准备哪些技术??
- 【操作系统】哲学家就餐问题
- 怎么把分开的pdf放在一起_糖和盐混在一起了要怎么分开?| 趣问万物
- Modularity QuickStart学习
- 华中科技大学计算机网络实验_第四届江苏省计算机网络与云计算新技术研讨会在南京召开...
- 合并两个有序链表 java_合并两个有序链表
- mysql 1z0_MySQL 8 OCP(1Z0-908)认证考试题库原题(第12题)
- kubernetes endpoints是什么
- DM7达梦数据库介绍和安装
- 数值计算之 插值法(3)多项式插值法的解,范德蒙矩阵,龙格现象
- 关于微信小程序开发者工具的版本管理使用介绍
- Windows Server 2012开机账户自动登录
- ictclas4j java_ictclas4j 分词工具包 安装流程
- Windows10+YOLOV3+VisualStudio2017最新版本超详细过程
- 【转】linux服务器的Gzip文件压缩方法
- JVM —— Java 对象占用空间大小计算
热门文章
- c++ 冒泡排序_学习笔记-详解冒泡排序
- 高性能计算机系统及应用,高性能计算
- 表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~
- 如何在Panel中嵌入子窗体
- bootstrap 获取表格修改的结果_bootstrap-table前端修改后台传来的数据重新进行渲染...
- android android studio单元测试实例
- Fragment碎片的基本使用(手机平板需要更好地兼容)
- DialogFragment 全屏显示
- Ubuntu 20.04 LTS安装搜狗输入法,只需三条命令,还能自动更新
- python 爬虫输出为空,python爬取文件时,内容为空