Mina学习之IoHandler】的更多相关文章

IoHandler处理事件在Filter Chain 之后进行.IoHandler包含处理以下几个事件的功能: 1. sessionCreated event: session创建事件,对于Tcp而言该事件在连接建立时触发,对Udp而言,该事件在Udp数据包到达时触发.该功能常被用于初始化session的属性. 2. sessionOpened event: session打开事件,该事件一般在sessionCreated事件之后发生. 3. sessionClosed event: sessi…
MINA学习汇总 Apache Mina Server 是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序.它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),Mina 提供了事件驱动.异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型. Apache Mina简单理解它是一个封装底层IO操作,提供高级操作API的通讯框架! Mina在整个网通通信结构中位置: Mina处于中间…
Mina:是一个帮助用户开发高性能和高伸缩性网络应用程序的框架 学习地址链接:http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html http://my.oschina.net/chenleijava/blog/134170 自己认为比较好的介绍了mina的一篇博文 :http://blog.csdn.net/cnicys/article/details/8529964 流程: 创建服务器 ————服务器端业务逻辑————客户端…
前言 Apache的MINA框架是一个早年非常流行的NIO框架,它出自于Netty之父Trustin Lee大神之手.虽然目前市场份额已经逐渐被Netty取代了,但是其作为NIO初学者入门学习框架是非常合适的,因为MINA足够的简单,它的实现相对于Netty的难易程度,大概只有Netty的40%左右(个人在对比了MINA和Netty的底层实现得出的结论):然而其在整体架构上的设计是非常类似的,因此在学习完MINA之后再去看Netty,也会相对简单一些.与此同时,一些老的系统在底层实现上也有很多使…
现在公司使用的NIO框架一直时候Mina,当然这也的框架还有Netty.虽然一直在用,但只是简单的停留在业务层面,最近面试的时候有问Mina相关的东西.在之前的博客中已经对BIO,NIO,AIO这三种java提供的IO流进行了介绍以及原理的讲解.今天我就打算开始对实现NIO的Mina框架的学习,看看这个框架是如何帮助我们更好的去管理selector,以及ByteBuffer,和我们的channel.以及如何处理高并发.好了今天就对mina框架的几个重要的概念用一个Mina框架入门代码的方式给大家…
长连接表示一旦建立了链接,就可以长时间的保持双方的通讯,例如: socket链接,推送平台. 短链接表示建立链接,完成数据的交换之后,就断开链接,例如: http链接. mina 框架是对socket链接的一次封装框架,可以更好的管理链接的任务. 在很多的开源项目中使用,例如: Android pn推送框架. 可以通过简单的几行代码建立通讯链接. 客户端: NioSocketConnector connector=new NioSocketConnector(); //设置处理器 connect…
IoFilter 是MINA中的一个核心结构,扮演了非常重要的角色.IoFilter在IoService和IoHandler过滤了所有的I/O 事件和请求.如果你有做个web项目的经验,则很类似于web中的 filter.为了加快开发效率,Mina提供了很多的filter,例如: 1. LoggingFilter: 记录下所有事件和请求的日志 2. ProtocolCodeFilter:将字节流转换成业务对象. 3. CompressionFilter:压缩所有的数据 4. SSLFilter…
Session(会话)是Mina的核心部分:每当一个clinent连接到server时,都会创建一个新的session,并且保存在内存中知道该链接断开. session 是用来存储一些关于连接信息,加上各种服务端在处理请求时可能会用到的信息. Session state session有一个状态,并且会随着时间变化. 1. Connected:session已经被创建并且是可用的 2. Idle:session 在一段时间(可配置)能没有处理任何请求.    A:Idle for read:在一…
从上一篇文章中知道,IoService出于MINA体系中的底层.IoService将会帮你维护网络交互,接受消息,发送消息,管理Sessions,管理连接Connections等等. IoService  是一个接口,服务端的IoAcceptor和客户端的IoConnector均继承了该接口.下面我们将分为以下几个部分介绍IoService 1. IoService Introduction 2. IoService Details 3. IoAcceptor 4. IoConnector Io…
基于MINA应用程序结构图: 我们可以看出,MINA是应用程序(客户端或服务端)和底层基于TCP,UDP等通讯协议的网络层之间的粘合剂.而且各个模块之间是相互独立的,你只需要在MINA体 系基础上设计你的应用程序,而不用去处理复杂的网络层. 下图展示了MINA的内部组件以及MINA各个组件的功能. 很显然,基于MINA的应用程序被划分为3层: 1. I/O Service  -- 执行真正的I/O操作 2. I/O Filter Chain -- 过滤,转换字节流为想要的数据结构 3. I/O…