Nio Mina框架

轉自:http://blog.csdn.net/yoara/article/details/37324821

mina組件結構圖:

  • IoService,負責處理I/O,直接子接口: IoAcceptor,IoConnector
  • Filter chain,順序執行過濾器,編碼等
  • IoHandler, 負責服務端處理業務邏輯

IoAcceptor:服務端   IoConnector:客戶端

服務端結構:

  • IOAcceptor 監聽來自網絡的請求。
  • 當新的連接建立時,一個新的session會被創建,該session用作對同一IP/端口組合的客戶端提供服務。
  • 數據包需經過一系列的過濾器,這些過濾器可用來修改數據包的內容(如轉換對象、添加或修改信息等),其中將原始字節流轉換成POJO對象是非常有用的。當然這需要解編碼器提供支持。
  • 最後這些數據包或轉化後的對象將交由IOHandler處理,我們將實現IOHandler用於處理具體的業務邏輯。


作用:

開啓監聽端口,等待請求的到來、處理他們、以及將發送對請求的響應。同時,服務端會爲每個連接創建session,在session週期內提供各種精度的服務,比如連接創建時(sessionCreated(IoSession session))、連接等待時(sessionIdle(IoSession session, IdleStatus status))、

(sessionClosed(IoSession session))等。mina的API爲TCP/UDP提供的一致性Server端操作。


客戶端結構:

  • 客戶端首先需要創建IOConnector對象,綁定服務端的IP和端口。
  • 一旦連接成功,一個於本次連接綁定的session對象將被創建。
  • 客戶端發送給服務端的請求都需要經過一系列的fliter。
  • 同樣,響應消息的接受也會經過一系列的filter再到IOHandler被處理。
作用:

發出請求,等待請求響應;




發佈了13 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章