mina框架經常用,但是具體的細節還是摸不清楚。稍稍深入了一下**,看了一下資料流程,在此做一些記錄。
先看一下大致的流程。詳細的說明網上很多,比如官方**:
部分層的細節也沒有深究。主要看了一下iofilter
資料報傳送流程
session.write(),這個函式應該是filter之前的業務。eclipse單步除錯看了一些資料流的傳遞流程。
傳送流程裡,filter可能會有編碼過程,大概把物件或者別的什麼轉換成iobuffer,然後將iobuffer放入protocolencoderoutput
相關的messagequeue中
【自己寫的**中用的是:protocolcodecfilter】
protocolcodecfilter**,大概就是編碼完了,然後就將writerequest傳送到下乙個filter去了。
最終會找到乙個終極filter,headfilter。
最終呼叫的是niosession咯,
niosession具體是什麼我不是很清楚。
大概每個session會繫結乙個processor,然後放入佇列,然後由乙個abstractpollingioprocessor統一呼叫,然後getnioprocessor,getchannel等等就傳送出去了。
MINA 框架簡介
1。mina 框架簡介 2。iosession session可以理解為伺服器與客戶端的特定連線,該連線由伺服器位址 埠以及客戶端位址 埠來決定。客戶端發起請求時,指定伺服器位址和埠,客戶端也會指定或者根據網路路由資訊自動指定乙個位址 自動分配乙個埠。這個位址 埠對構成乙個session。sessi...
Mina框架研究(3)
不堪回首 junotes filters iofilter 是mina框架中乙個核心的部分,如下圖,對間於ioservice和iohandle之間,用於過濾所有的i o事件和請求,其扮演的角色就像j2ee中的servlet。mina提供不少現成的過濾器 1 loggingfilter 日誌過濾器,用...
Mina執行流程解析(一)
一 客戶端 例子 初始化客戶端的連線類 ioconnector connector new niosocketconnector 設定超時時間 connector.setconnecttimeoutmillis 5000 獲取當前的過濾鏈,並且在末尾新增乙個新的過濾器 connector.getfi...