java框架白话_Java NIO框架Netty教程(二) 白话概念
"Hello World"的代碼固然簡單,不過其中的幾個重要概念(類)和 Netty的工作原理還是需要簡單明確一下,至少知道其是負責什。方便自己以后更靈活的使用和擴展。
聲明,筆者一介碼農,不會那么多專業的詞匯和縮寫,只能以最簡單蒼白的話來形容個人的感受和體會。如果您覺得這太不專業,筆者首先只能抱歉。然后,筆者曾轉過《Netty代碼分析》,您可參考。
ChannelEvent
先說這個ChannelEvent,因為Netty是基于事件驅動的,就是我們上文提到的,發生什么事,就通知"有關部門"。所以,不難理解,我們自己的業務代碼中,一定有跟這些事件相關的處理。在樣例代碼(http://www.it165.net/pro/html/201207/3142.html),我們處理的事件,就是channelConnected。以后,我們還會處理更多的事件。
ChannelPipeline
Pipeline,翻譯成中文的意思是:管道,傳輸途徑。也就是說,在這里他是控制ChannelEvent事件分發和傳遞的。事件在管道中流轉,第一站到哪,第二站到哪,到哪是終點,就是用這個ChannelPipeline處理的。比如:開發事件。先給A設計,然后給B開發。一個流轉圖,希望能給你更直觀的感覺。
ChannelHandler
剛說Pipeline負責把事件分發到相應的站點,那個這個站點在Netty里,就是指ChannelHandler。事件到了ChannelHandler這里,就要被具體的進行處理了,我們的樣例代碼(http://www.it165.net/pro/html/201207/3142.html)里,實現的就是這樣一個處理事件的“站點”,也就是說,你自己的業務邏輯一般都是從這里開始的。
Channel
有了個部門的協調處理,我們還需要一個從整體把握形勢的,所謂“大局觀”的部門,channel。
channel,能夠告訴你當前通道的狀態,是連同還是關閉。獲取通道相關的配置信息。得到Pipeline等。是一些全局的信息。Channel自然是由ChannelFactory產生的。Channel的實現類型,決定了你這個通道是同步的還是異步的(nio)。例如,我們樣例里用的是NioServerSocketChannel。
這些基本的概念,你懂了吧。
總結
以上是生活随笔為你收集整理的java框架白话_Java NIO框架Netty教程(二) 白话概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我买一避火,其火强+15能用品级调整箱调
- 下一篇: 西安治无精症比较好的医院推荐