netty簡介:
做遊戲的都知道,netty和mina是網絡層通訊流行的兩種socket框架。mina出現的早些,屬於apache,netty目前更新比較穩定,5暫時還處於alpha版本,本系列netty前四篇主要是介紹目前比較用的多的3系列,後面會簡要的說到netty4和mina。
netty是網絡通訊框架,爲什麼要使用netty?使用netty有什麼好處?基於Java nio的編程的難度其實可以參考Reactor模型,多路複用這些,監聽端口,建立線程,關閉連接等等,這些想着都覺得很複雜,而我們使用netty後,可以不考慮這些底層通訊的內容,直接處理我們的業務邏輯。
理解netty的關鍵,除了需要補充nio的知識,還有一個就是它的事件。
用簡要的一句話概括netty:channel是管道,是channelEvent的產生者,channelEvent通過channelHandler處理,channelPipeline就是channelHandler的集合。
以前面試的一家遊戲公司問到了關於mina框架的bug,以及爲什麼選用netty,以及兩者之間的區別。