以前開過品味性能系列、Mysql學習系列,頗爲曲高和寡。都是講理論,不多有手把手深刻淺出的文章。不過確實我就這脾氣,文雅點的說法叫作「僞雅」,下里巴人叫作「裝逼」。
本篇文章,打算總結下學習過程,分析學習要點。html
關於netty的資料頗多,學習起來未免雜亂。對於初學者麻煩點在於難以找到重點,再此則推薦一個學習路線。git
使用Netty建立Telnet服務
官方示例TelnetClientgithub
推薦這個示例是由於它足夠簡單,簡單到客戶端也沒有。
《Netty 實戰(精髓》->第一個netty應用)算法
在這一章可以學習到更多細節。
經過這幾步代碼,學習 Netty 組件模型的基礎 -> ChannelHandler ,它是重中之重。在稍後的第二步將會深刻講解。sql
http://www.jianshu.com/p/5dcbc0456376安全
對於從零開始,想要快速上手的同窗來講。只想說直接給一份代碼,從安全角度出發也不敢用到生產環境。出了問題也無從下手修改。服務器
一些實用組件推薦,請務必熟悉它們的做用。
跟着Netty 實戰(精髓),看《Netty 總覽》session
CharsetUtilapp
儘可能,按照其在整個通訊過程當中所屬順位,講解全部 Netty 主要組件。大體結構圖以下:
socket
熟悉ChannelInboundHandlerAdapter 抽象類裏面每一個方法的用處。
利用責任單一原則,把消息
Encode、Decode
ByteBuf
(ByteBuf和相關輔助類)[http://www.cnblogs.com/wade-luffy/p/6196481.html]
(WroldClock)[https://netty.io/4.0/xref/io/netty/example/worldclock/WorldClockServerHandler.html]
對於已經在項目中應用了 netty 的同窗,更多的想學習源碼,可是並不推薦直接看源碼。
由於經常在沒有必定設計功底的狀況下,會看的不明因此。
更多協議類型支持,請自行根據需求搜索相應資料。
在經過github搜索相應源碼參考學習時,切記分辨出事netty3.x與netty4.+版本。由於改動很大,不少資料已經沒有參考價值。