mina框架udp自定义协议传输预研

mina框架udp自定义协议传输预研

ID:36990099

大小:30.37 KB

页数:3页

时间:2019-05-06

mina框架udp自定义协议传输预研_第1页
mina框架udp自定义协议传输预研_第2页
mina框架udp自定义协议传输预研_第3页
资源描述:

《mina框架udp自定义协议传输预研》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MINA介绍Apache的Mina(MultipurposeInfrastructureNetworkedApplications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使JavaNIO在各种传输协议(如TCP/IP,UDP/IP协议等)下快速高效开发。 Mina的工作流程,也涵盖了Mina的三个核心接口:IoService接口,IoFilter接口和IoHandler接口。第一步.创建服务对象(客户端或服务端) ---IoService接口实现第二步.数据过滤(编码解码、

2、日志等)         ---IOFilter接口实现第三步.业务处理                       ---IoHandler接口实现创建服务对象即客户端或服务端,IoService的接口实现。作用:IoService是创建服务的顶层接口,无论客户端还是服务端,都是从它继承实现的。 IoService接口声明了服务端的共有属性和行为;IoAcceptor接口继承了IoService接口,并添加了服务端特有的接口属性及方法,比如bind()方法,成为典型的服务端接口;IoConnector接口同样继承了IoService接口,并添

3、加了客户端特有的接口属性及方法,比如connect()方法,成为典型的客户端接口;UDP/IP:NioDatagramAcceptor(服务端),NioDatagramConnector(客户端);TCP/IP:NioSocketAcceptor(服务端),NioSocketConnector(客户端);启动服务端的时候通过acceptor.getFilterChain()的addLast方法添加IOFilter;通过acceptor.seHandler添加IoHandler; 服务端必须指定绑定的端口号; 客户端必须指定请求的服务器地址和端口

4、号。数据过滤即编码解码、日志等,IOFilter接口实现。自定义传输协议及在数据的编辑码过程实现。Mina最主要的工作就是把底层传输的字节码转换为Java对象,提供给应用程序;或者把应用程序返回的结果转换为字节码,交给底层传输。这些都是由IoFilter完成的,因此IoFilter是Mina的精髓所在。IoService实例会绑定一个DefaultIoFilterChainBuilder----过滤器链,我们把自定义的各种过滤器(IoFilter)自由的插放在这个过滤器链上了,类似于一种可插拔的功能!LoggingFilter是根据IoSess

5、ion的状态(创建、开启、发送、接收、异常等等)来记录会话的事件信息的!这对我们跟踪IoSession很有用。当地,也可以自定义logger的日志级别,定义记录那些状态的日志。 ProtocolCodecFilter是设置编码解码。Mina中传输的所有二进制信息都存放在IoBuffer中,IoBuffer是对JavaNIO中ByteBuffer的封装(Mina2.0以前版本这个接口也是ByteBuffer),提供了更多操作二进制数据,对象的方法,并且存储空间可以自增长,用起来非常方便;简单理解,它就是个可变长度的byte数组!IoHandler

6、业务处理 IoHandler是Mina实现其业务逻辑的顶级接口;在IoHandler中定义了7个方法,根据I/O事件来触发对应的方法:sessionCreated:当一个新的连接建立时,由I/Oprocessorthread调用;sessionOpened:当连接打开是调用;messageReceived:当接收了一个消息时调用;messageSent:当一个消息被(IoSession#write)发送出去后调用;sessionIdle:当连接进入空闲状态时调用;sessionClosed:当连接关闭时调用;exceptionCaught:当实

7、现IoHandler的类抛出异常时调用;一般情况下,我们最关心的只有messageReceived方法,接收消息并处理,然后调用IoSession的write方法发送出消息(注意:这里接收到的消息都是Java对象,在IoFilter中所有二进制数据都被解码)UDP可靠传输传输控制协议(TCP)是面向连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的通信连接。用户数据报协议(UDP)是与TCP相对应的、面向非连接的协议。它不与对方建立连接,而直接就把数据包发送过去。由于UDP协议没有连接的过程,所以它的通信效率高;但也正因为如此,大大降

8、低了它的可靠性。UDP适用于对可靠性要求不高的应用环境。传统的UDP协议通信效率高、可靠性较差,不适合对可靠性要求较高的应用环境。目前随着网络传输的快

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。