Apache Mina 文檔翻譯 - 第七章 - Handler

第七章 - Handler

IoHandler處理所有MINA產生的IO事件。這個接口是在過濾器鏈的尾端,是所有活動的集線器。

IoHandler有以下方法:

    sessionCreated
    sessionOpened
    sessionClosed
    sessionIdle
    exceptionCaught
    messageReceived
    messageSent

sessionCreated事件

當一個新的連接建立時產生會話創建事件。 TCP環境下是連接被accept的時候發生這個事件,在UDP環境下當接收一個UDP包的時候發生這個事件。在這個方法裏你可以初始化會話屬性,或爲連接執行唯一的一次的操作。

這個方法是被IO處理器線程調用, 因此必須在極短的時間內執行完畢,否則會妨礙其他會話的建立。

sessionOpened事件

當一個連接打開的時候產生這個事件。這個方法總是在sessionCreated事件以後被調用。如果配置過線程模型,這個方法就在你指定的線程裏調用,而不是在IO處理器線程裏調用。

sessionClosed事件

當一個會話被關閉時,這個時間被調用,可以在這個事件處理中做一些清理操作。

sessionIdle事件

當一個會話變成空閒狀態後,這個事件被調用。 這個方法在UDP環境下不會被調用。

exceptionCaught事件

當你的代碼或MINA產生異常時這個方法會被調用。如果是IO異常連接會被關閉。

messageReceived事件

每當接收到消息時這個事件處理就會被調用。這裏是大多數應用程序的主處理。你需要負責處理所有你期望的消息類型。

messageSent事件

當一個消息(response)被髮送(IoSession.write())後,這個方法被調用。

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