WEB开发网
开发学院软件开发Java 深入理解Apache Mina (3)---- 与IoHandler相... 阅读

深入理解Apache Mina (3)---- 与IoHandler相关的几个类

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: 通过上面的程序我们可以看出Mina的中业务逻辑处理都可以在IoHandler中,而不需要考虑对象的序列化和反序列化问题,深入理解Apache Mina (3)---- 与IoHandler相关的几个类(4),关于IoHandler的简单用法就说这么多,下面再看看与IoHandler相关的几个中要

通过上面的程序我们可以看出Mina的中业务逻辑处理都可以在IoHandler中,而不需要考虑对象的序列化和反序列化问题。关于IoHandler的简单用法就说这么多。下面再看看与IoHandler相关的几个中要的类。

按照惯例,还是先给出IoHandler及其相关类的类图:

深入理解Apache Mina (3)---- 与IoHandler相关的几个类

从上面的类图我们可以清晰的看到IoHandler是一个接口,它有两个子类:

IoHandlerAdpater:它只是提供了IoHandler中定义的方法体,没有任何的逻辑处理,你可以根据你自己的需求重写该类中的相关方法。这个类在实际的开发中使用的是较多的。我们上面写的例子都是继承于这个类来实现的。

SingleSessionIoHandlerDelegate:这是一个服务器和客户端只有一个会话时使用的类,在该类的方法中没有提供session的参数,该类在实际的开发中使用的较少,如果需要对该类进行更深入的了解,请参考Mina 1.1.7的API文档。

在Mina提供的IoHandler的具体实现中,大部分的实现类都是继承与IoHandlerApater,IoHandlerAdpater在Mina 1.1.7中的子类有三个:

ChainedIoHandler:这个类主要是用于处理 IoHandler的messageReceived事件,它和IoHandlerChain配合使用。当在业务逻辑中有多个IoHandler需要处理时,你可以将你的每个IoHandler添加到IoHandlerChain中,这个和过滤器

链比较相似,关于IoFilter和IoHandlerChain的具体用法和区别会在后续的文档中给出。

StreamIoHandler:该类也是用于处理IoHandler的messageReceived事件,它主要用于文件传输的系统中,比如FTP服务器中,如果需要对该类进行更深入的了解,请参考Mina 1.1.7的API文档。

DemuxingIoHandler:该类主要是用于处理多个 IoHandler的messageReceived,由于在TCP/IP协议的数据传输中会出现数据的截断现象(由于socket传输的数据包的长度是固定的,当数据包大于该长度,数据包就会被截断),所以提供这个类主要是保证IoHandler所处理的数据包的完整性,这个和编解码器中的 CumulativeProtocolDecoder类似,关于这两个类的具体介绍会在后续的文档中给出。

至此,关于IoHandler的作用就讲述完了,希望对你能有所帮助。

上一页  1 2 3 4 

Tags:深入 理解 Apache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接