(本文来源于我工作中的笔记,主要是说明MINA2中的几个重要的类的作用,还有一些疑问)
1,IoAcceptor中的bind与unbind的具体实现
2,IoConnector中的connect的实现
3,BaseIoService中的addListener与removeListener的实现
4,IoAcceptor是定义接收连接的接口,IoConnector是定义接连的接口
5,BaseIoAcceptor(抽象类)实现IoAcceptor接口,继承BaseIoService抽象类
6,BaseIoConnector(抽象类)实现IoConnector接口,继承了BaseIoService抽象类
7,BaseIoAcceptor的三个具体实现类:
1) DatagramAcceptorDelegate : 数据报UDP通信的服务器入口程序.(视频,远程服务)
2) VmPipeAcceptor : 虚拟通道(VM)通信的服务器入口程序.(无线通信方面)
3) SocketAcceptor : TCP/IP通信的服务器入口程序.(实时系统)
8,BaseIoConnector的三个对应的实现类:
1) DatagramConnectorDelegate : 对应连接DatagramAcceptorDelegate
2) VmPipeConnector : 对应连接VmPipeAcceptor
3) SocketConnector : 对应连接SocketAcceptor
9,IoFilter(类似于J2EE中的过虑器)作用:记录事件的日志,信息验证,过载控制,信息的转换,测量系统性能
10,IoFilter的实现类IoFilterAdapter(用于供具体的实现类继承),ReferenceCountingIoFilter(监视使用IoFilter的数量)
11,IoFilterAdapter的三个子类:
1) LoggingFilter : 日志工具
2) ExcutorFilter : mina自身提供的一个线程池(可以提高性能)
3) ProtocolFilter : 协议编解码器
12,ObjectSerializationCodecFactory,这是Mina提供的一个Java对象的序列化和反序列化方法
13,mina中的会话IoSession
14,IoHandler(接口)在Mina中属于业务层(类似于J2EE中的Servlet)
15,IoHandler的简单实现类IoHandlerAdpater有三个具体的实现类:
1) ChainedIoHandler :
2) StreamIoHandler : 主要用于文件传输时
3) DemuxingIoHandler : 用于处理多个IoHandler的messageReceived,由于在TCP/IP协议的数据
传输中会出现数据的截断现象(由于socket传输的数据包的长度是固定的,当数据包大于该长度,数据包
就会被截断),所以提供这个类主要是保证IoHandler所处理的数据包的完整性.
16,IoProcessor是一个处理线程池,优化重点,它的主要作用是根据当前连接的状态的变化,来将数据或事件通知到IoFilter