1. 程式人生 > >深入理解Apache Mina (4)---- IoFilter和IoHandler的區別和聯絡

深入理解Apache Mina (4)---- IoFilter和IoHandler的區別和聯絡

IoProcessor是一個處理執行緒,它的主要作用是根據當前連線的狀態的變化(建立會話、開啟會話、接收資料、傳送資料、發生異常等等),來將資料或事件通知到IoFilter,當IoFilter的相應的方法接收到該狀態的變化資訊是會對接收到的資料進行處理,處理完畢後會將該事件轉發到IoHandler中,有IoHandler完成最終的處理。在這裡IoProcessor的主要功能是建立資源(建立/分配執行緒給IoFilter)和資料轉發(轉發到IoFilter),IoFilter對資料進行基本的分類(如編解碼),IoHandler則負責具體的邏輯實現。也就是說IoFilter對接收到的資料包的具體內容不做處理,而是有IoHandler來對所接收到的資料包進行處理,根據資料包的內容向客戶端返回響應的資訊。