`
zzc1684
  • 浏览: 1230974 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

nio/mina(五) 构架研究

    博客分类:
  • Mina
阅读更多

 

mina基于reactor模式

参考文章:

http://libo20475.blog.163.com/blog/static/27140009200981352836598/  apache mina 研究

http://blog.csdn.net/gaolingep/article/details/4147697   mina研究-源代码

http://developer.51cto.com/art/201103/248125_1.htm    解析mina代码

http://lanmh.iteye.com/blog/1003933   mina工作流程

http://www.doc88.com/p-239796971134.html  mina中文api

mina构架

 

IoService:

这个接口抽象了一切io操作,包括建立端口监听,io读写,负责底层通信接入

IoProcessor:

1.为IOService处理正真的I/O读写操作。IOService在某端口监听,当发生int selected = select();时,说明有建立连接的客户端请求,IOService会调用IOProcessor,将session和交给processor处理。
2.IOProcessor也会有一个int selected = select(1000);的阻塞,等待IO事件。
3.当I/O事件到达后,会把输入读入到一个BUF中session.getChannel().read(buf.buf())(Java NIO)。

IoFilter:

1.上面IOProcessor得到buf后,会交给 IOFilter处理,如果是读取IO则触发messageReceived方法。
2.IOFilter一般被包含在一个IoFilterChain中,是实现了责任链模式的一根链条。

IoHandler:(业务处理)

1.是拿到buf做处理的一个接口,是用户最终会面对的一个接口。
2.上面的IOFilter得到buf(以接收数据为例),IOFilter调用了IoHandler的messageReceived(s, message);方法。

 

主要接口

IoAcceptor: 服务端,实现了IoService接口
IoConnector: 客户端,实现了IoService接口
IoProcessor:负责处理IoSession,包括创建,移除,读写事件的处理
IoSession:  客户连接的抽象
IoFilter:   过滤消息或者说(通讯层的)消息处理,IoService与IoHandler间的桥梁
IoHandler:  消息处理

 

基本流程

1当IoService 实例创建的时候,同时一个关联在IoService 上的IoProcessor 池、线程池也被创建;
2当IoService 建立套接字(IoAcceptor 的bind()或者是IoConnector 的connect()方法被调用)时,IoService 从线程池中取出一个线程,监听套接字端口;
3当IoService 监听到套接字上有连接请求时,建立IoSession 对象,从IoProcessor池中取出一个IoProcessor 实例执行这个会话通道上的过滤器、IoHandler;
4当这条IoSession 通道进入空闲状态或者关闭时,IoProcessor 被回收。

http://blog.csdn.net/onafioo/article/details/7912059

很详细,关于mina线程的使用

分享到:
评论

相关推荐

    NiO/TiO2复合结构的制备及其电化学性能研究

    本研究由叶树婷、王岩等人进行,他们以阳极氧化法制得的TiO2纳米管有序阵列薄膜为基础材料,采用化学浴沉积法并结合后续热处理,成功制备出NiO/TiO2复合结构。这一方法的关键步骤包括: 1. 首先,通过阳极氧化法在...

    NiO/γ-Al2O3的制备及对煤微波热解的影响

    以浸渍-焙烧法制备NiO/Al2O3型催化剂.采用该催化剂微波热解低变质煤,探讨了热解产生的气体组成、液态油品成分特点及固态残渣的形貌与负载催化剂制备条件的相互关系,考察了负载NiO的工艺条件如浸渍方式、焙烧时间和...

    制备条件对煤热解制氢用NiO/γ-Al2O3催化剂活性影响的研究

    文章介绍了一种负载型NiO/γ-Al2O3催化剂的制备,并且从Ni的负载量、焙烧时间、焙烧温度3个方面探讨了不同的制备条件对NiO/γ-Al2O3催化剂活性的影响。通过实验确定了NiO/γ-Al2O3催化剂制备的最佳工艺条件,应用XRD...

    氮气退火对NiO/ZnO:A1薄膜PN结的影响* (2012年)

    利用磁控溅射法,在ITO玻璃基底上沉积NiO薄膜和ZnO:Al(Al掺杂的ZnO或AZO)薄膜,制备具有半导体特性的NiO/ZnO:A1透明异质结二极管。使用UV-1700型分光光度计、KEITHLEY4200-SCS半导体测试仪、JSM-6490LV型扫描电子...

    网络编程(socket、NIO、mina)---demo

    在这个"网络编程(socket、NIO、mina)---demo"的主题中,我们将深入探讨三个关键概念:Socket编程、非阻塞I/O(Non-blocking I/O,简称NIO)以及Apache Mina框架。这些技术广泛应用于构建高性能、高并发的网络应用...

    基于Java NIO/AIO技术的鹊桥内网穿透设计源码

    该项目是一款基于Java NIO/AIO技术的鹊桥内网穿透设计源码,包含360个文件,涵盖171个JavaScript文件、101个Java源文件、23个HTML文件、17个XML文件、13个CSS文件、7个PNG图片文件、6个Shell脚本文件、5个属性文件、...

    烧结温度对NiO/MWCNT活性材料电化学性能的影响

    烧结温度对NiO/MWCNT活性材料电化学性能的影响,吴微,顾大伟,本文以乙醇为分散剂,配制六水合硝酸镍(Ni(NO3)2o6H2O)和多壁碳纳米管(MWCNT)的混合物,在不同温度(200 ~ 400 ℃)下烧结该混合物得�

    变质煤催化剂NiO/γ-Al2O3的制备及对煤微波热解的影响研究

    介绍热解催化剂NiO/γ-Al2O3的制备过程,分析不同蔗糖用量对催化剂的影响。阐述煤的催化热解机理,利用催化剂进行变质煤微波热解实验,实验结果显示催化剂对煤炭热解产物都有明显影响,通过调整实验条件可以获得更加理想...

    Java springboot 整合mina 框架,nio通讯基础教程,mina框架基础教程.zip

    Java SpringBoot 整合Mina框架,涉及到的核心技术主要包括Java NIO(非阻塞I/O)、Mina框架以及SpringBoot的集成应用。本教程旨在帮助开发者深入理解和掌握这些技术,并提供了一个可直接使用的基础平台框架。 Java ...

    nio.rar_NIO_java nio_java_nio_mina java n

    5. **Java NIO与Mina**:Mina是一个高性能、轻量级的网络应用框架,它利用了Java NIO的特性来构建网络服务。Mina提供了一套高级API,简化了基于NIO的网络编程,包括TCP和UDP协议的支持,以及过滤器链机制,方便实现...

    一站式学习Java网络编程 全面理解BIO:NIO:AIO1

    五、java.io 之字符流 字符流是 java.io 中的高级流类型,用于处理文本数据。字符流包括 Reader 和 Writer 两种,前者用于输入,后者用于输出。 InputStreamReader 和 InputStreamReader 是 java.io 中的桥梁流,...

    NIO_MINA学习例子_源代码

    NIO (Non-blocking Input/Output) 和 MINA (Multipurpose Infrastructure for Network Applications) 是Java中用于高性能网络应用的两个重要框架。NIO是Java标准库的一部分,提供了与传统IO(Blocking I/O)不同的I/...

    从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式

    本文将从这三个框架中提炼出NIO构架网络服务器的经典模式,并逐一解析它们的核心机制。 首先,Jetty的NIO实现主要由以下几个关键组件组成: 1. **SelectChannelConnector**:负责整合各个组件,创建和管理连接。 2....

    Java视频教程 Java游戏服务器端开发 Netty NIO AIO Mina视频教程

    jaca视频教程 jaca游戏服务器端开发 Netty NIO AIO Mina视频教程 课程目录: 一、Netty快速入门教程 01、第一课NIO 02、第二课netty服务端 03、第三课netty客户端 04、第四课netty线程模型源码分析(一) 05、...

    Java_nio&mina技术调研报告

    MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、易用的网络应用程序框架,基于Java NIO构建。MINA为开发者提供了高度抽象的API,简化了网络编程的复杂性。MINA支持TCP和UDP协议,适用...

    基于高性能NIO的MINA框架的应用

    MINA框架(Multipurpose Infrastructure for Network Applications)是基于Java NIO设计的网络应用程序框架,其特点是采用松耦合架构,支持灵活的过滤器机制,同时单元测试也更为容易实现。MINA允许自定义线程数量,...

    Mina NIO Socket

    《Mina NIO Socket:深度解析与应用》 在Java世界中,网络编程是一个不可或缺的部分,而Mina NIO(Non-blocking I/O)Socket库则是Java开发者实现高性能、高并发网络服务的重要工具。本文将深入探讨Mina NIO Socket...

    NiO / ZnO异质结微花的一步一步水热合成,用于增强甲醛感测性能

    本文介绍了通过一种简便的一步水热法合成NiO/ZnO异质结微花,用于提高甲醛气体感测性能的研究。以下详细说明了标题与描述中提及的知识点。 首先,异质结是指由两种不同类型的半导体材料接触形成的结。在异质结中,...

    apache-mina-2.0.4架包及源码各pdf学习教程

    当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。不管是新手还是老手,还是很有学习参考价值的。

Global site tag (gtag.js) - Google Analytics