mina 框架学习.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mina 框架学习

mina 框架学习转帖:/s/blog_5f9beca40101ee6w.html1、简介Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Apache Mina也称为:l NIO框架l?客户端/服务端框架(典型的C/S架构)l 网络套接字(networking socket)类库2、通信流程那么让我们来看一下mina在我们应用中处于什么样的一个位置呢上图可以看出mina位于应用程序和底层网络传输之间,它不关心底层网络数据如何传输,只负责接收底层数据,过滤并转换为Java对象提供给我们的应用程序,然后把应用程序响应值过滤并转换为底层识别的字节,提供给底层传输。再来看一下mina 通信流程图可以很清晰看出mina主要有三个主要的业务接口:IoService,IoFilter和IoHandler(1) IoService:这个接口在一个线程上负责套接字的建立,拥有自己的Selector,监听是否有连接被建立。(2) IoFilter:这个接口定义一组拦截器,这些拦截器可以包括日志输出、黑名单过滤、数据的编码(write 方向)与解码(read 方向)等功能,其中数据的encode 与decode是最为重要的、也是你在使用Mina 时最主要关注的地方。(3) IoHandler:这个接口负责编写业务逻辑,也就是接收、发送数据的地方。总的来说创建一个基于mina框架的应用分为三个模块:?创建连接(IoService))——添加消息过滤器(IoFilter)——添加业务处理(IoHandler)3、server 和 clientmina中server和client没有多大区别都是通过Ioservice建立连接和通信的,来看下具体流程Server 一般地,服务端会有一个端口来监听client的请求/packet,并且为每隔connect建立一个session(无论是基于TCP/IP协议还是UDP协议),Server端主要通过IoAccptor建立连接IOAcceptor继承自IoService主要用于监听网络进来的connecter和packet,对于一个新的连接首先会创建一个session,连接创建之后请求消息会从你的地址和监听的端口中进来并封装所以的packet接收完成之后如上图所示,过滤器链会对其进行过滤,过滤完成之后会交给IoHandler进行业务处理,这就是一个请求到达server后mina的处理流程。client 一般地,client端主要功能为何server建立连接发送消息和处理server传回的消息,client主要通过IoConnector建立连接,流程如下1、client端首先通过IoConector与server建立连接,初始化并绑定改到server,连接建立后会和一个session绑定2、建立连接之后,如果要发送数据到server那么所发送的数据也会经过filter进行过滤器链之后再发送到server3、当有数据从server返回的时候,再数据全部接收完成之后,数据再经过IoFilter过滤器链最后交给IoHandler处理IoService是一mina中非常重要的一个接口,他贯穿了整个mina 通信流程,建立远程连接、发送消息、连接等IoService接口提供了一些连接常用接口,在server端IoAcceptor继承了IoService,在client端IoConnector继承了IoService完成客户端功能,IoService是创建服务的顶层接口,无论客户端还是服务端,都是从它继承实现的。下面将从几个方面介绍IoServiceIoService简介IoSerivce接口功能IoAcceptorIoConnector1、IoService简介IoService提供了一个I/O服务和管理I/Osession的一个功能,是mina框架最重要的一个部分,为实现了IoService的类或接口提供了一个很强大的功能用于业务操作接下来用一张思维图来说明IoService和AbstractIoService定义了哪些功能,以及在实际应用中有哪些可以扩展和实现的地方(画图工具XMind.)可以答题总结IoService有几点功能1、session 管理:创建、删除session、监测session 是否失效2、过滤器链管理:管理过滤器连,并且用户可以很方便的自定义创建过滤器3、调用业务handler:在

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档