摘要: 本章中演示在Spring中整合Mina,为了整合到Spring,需要做以下几个步骤:1. 设置IoHandler2. 创建Filters并加入到Chain中 3. 创建IoAcceptor ... 阅读全文
posted @ 2014-04-24 17:21 marco_tan 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 为何要使用Codec Filter1. 任何一个网络应用程序接受到消息后,都需要知道消息的开头和结束。2. 你可以把协议解析的部分放在IoHandler,但这样就会造成业务代码和协议解析代码混淆在一起3. Codec Filter提供了一种方法将你协议解析代码和业务代码分离出来如何使用Codec F... 阅读全文
posted @ 2014-04-24 16:53 marco_tan 阅读(155) 评论(0) 推荐(0) 编辑
摘要: IoBuffer是一个被MINA体系所使用的字节数组。它是ByteBuffer的替代品,Mina不使用NIO的ByteBuffer有两个原因:1. ByteBuffer没有提供更多有用的api,如fill,get/putString等2. ByteBuffer是定长的,故无法写入变长的数据IoBuf... 阅读全文
posted @ 2014-04-24 16:16 marco_tan 阅读(2181) 评论(0) 推荐(0) 编辑
摘要: IoHandler处理事件在Filter Chain 之后进行。IoHandler包含处理以下几个事件的功能:1. sessionCreated event:session创建事件,对于Tcp而言该事件在连接建立时触发,对Udp而言,该事件在Udp数据包到达时触发。该功能常被用于初始化session... 阅读全文
posted @ 2014-04-24 15:50 marco_tan 阅读(418) 评论(0) 推荐(0) 编辑
摘要: IoFilter 是MINA中的一个核心结构,扮演了非常重要的角色。IoFilter在IoService和IoHandler过滤了所有的I/O 事件和请求。如果你有做个web项目的经验,则很类似于web中的filter。为了加快开发效率,Mina提供了很多的filter,例如:1. LoggingF... 阅读全文
posted @ 2014-04-24 15:36 marco_tan 阅读(414) 评论(0) 推荐(0) 编辑
摘要: Session(会话)是Mina的核心部分:每当一个clinent连接到server时,都会创建一个新的session,并且保存在内存中知道该链接断开。session 是用来存储一些关于连接信息,加上各种服务端在处理请求时可能会用到的信息。Session statesession有一个状态,并且会随... 阅读全文
posted @ 2014-04-24 14:45 marco_tan 阅读(1946) 评论(0) 推荐(0) 编辑
摘要: 从上一篇文章中知道,IoService出于MINA体系中的底层。IoService将会帮你维护网络交互,接受消息,发送消息,管理Sessions,管理连接Connections等等。IoService 是一个接口,服务端的IoAcceptor和客户端的IoConnector均继承了该接口。下面我们将... 阅读全文
posted @ 2014-04-24 14:02 marco_tan 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 基于MINA应用程序结构图:我们可以看出,MINA是应用程序(客户端或服务端)和底层基于TCP,UDP等通讯协议的网络层之间的粘合剂。而且各个模块之间是相互独立的,你只需要在MINA体系基础上设计你的应用程序,而不用去处理复杂的网络层。下图展示了MINA的内部组件以及MINA各个组件的功能。很显然,... 阅读全文
posted @ 2014-04-24 08:57 marco_tan 阅读(281) 评论(0) 推荐(0) 编辑