1. 嘗試一下helloword demo
-->官方例子 https://github.com/netty/netty
-->簡書的入門級netty聊天demo
2.netty入門級羣聊demo,發現有3個問題
問題1:沒有顯示用戶的名字 (如今處理)
問題2:上下線顯示 (channelActive/channelInactive監聽實現)
問題3:圖片的傳送 (待處理)
3.encoder decoder 都是(官方/第三方)提供??自定義encoder和decoder徹底搞不懂是怎麼弄的?
-->官方的確有提供encoder和decoder
-->若是有官方確定優先使用官方的
String --> StringDecoder/StringEncoder
Http --> HttpRequestEncoder / HttpResponseDecoder
對象傳遞 --> ObjectEncoder/ObjectDecoderhtml
4.Netty Client重連實現
-->須要重鏈的狀況:
1.Netty Client啓動的時候須要重連
2.在程序運行中鏈接斷掉須要重連。
5. TCP粘包/TCP拆包是什麼? 怎麼重現?怎麼解決?
"問題一"答案:
eg: 假設客戶端發送兩個獨立的數據包 [A] [B]給服務端
服務端接收狀況爲:
1.兩個獨立數據包[1][2],沒有粘包和沒有沾包
2.兩個數據包粘在一塊兒[1,2],被稱爲tcp 粘包
3.獨立數據包[1]被拆分紅[1-a][1-b]並且並且[1-b]和[2]數據包粘在一塊兒
4.一個數據包很大被屢次拆分
"問題二"答案:
服務端接二連三接受客戶端ByteBuf
"問題三"答案: 使用LineBasedFrameDecoder
eg: https://www.cnblogs.com/EnzoDin/p/7922003.htmljava
6. ByteBuf介紹git
7. 文件傳輸,實際應用中有視頻上傳,圖片上傳
eg: https://www.cnblogs.com/cq-jiang/p/7620425.html (項目說明)
https://github.com/jlq023/netty (github)github
8. netty服務端和客戶端代碼的不一樣點(膚淺對比)?
server : 兩個EventLoopGroup ServerBootstrap 有option/childHandler
client : 一個EventLoopGroup Bootstrap 無~~~~~~~~~~~~~~~~~~~web
9.<<Netty 實戰精髓>> 寫的還能夠服務器
10.對象傳遞,字面意思就是netty服務器和客戶端之間的java對象傳遞
前提:java原始的POJO序列化 (額外提到一點: jdk自帶序列化方案性能不是最優秀的?)
eg:http://blog.csdn.net/AlbertFly/article/details/51527488
11. netty是在支持什麼協議的關鍵代碼在哪裏?
12. ChnnelOption 都有哪些設置?
13. UDP廣播,http2,websocket?
14. spdy比http協議web頁面加載速度快50%,,,,http2的前身是spdyy
15. websocket + webRtc + layui的文字圖片視頻語音聊天
websocket