天天看點

MINA學習筆記

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