(本文來源于我工作中的筆記,主要是說明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