概要
P7 實現(xiàn)了客戶端與服務端的連接(但沒有發(fā)送信息)
P8 實現(xiàn)了聊天室,主要用到了對連接、斷開連接的事件處理,以及用ChannelGroup實現(xiàn)廣播
P9 實現(xiàn)了空閑狀態(tài)監(jiān)測(可用于心跳包監(jiān)測)
netty的獨特規(guī)范
- struts2、spring等都是遵循servlet規(guī)范的,但netty基于更為底層的協(xié)議,可以不遵循servlet。
- 由于netty的精妙設計,它擁有比tomcat更大的吞吐量,很適合高并發(fā)場景。
- 但spring也不是一文不值,它進行了很多封裝,能提高開發(fā)效率。而netty本身連路由機制都沒有實現(xiàn)。
netty適合的場景
- 由于可以實現(xiàn)長連接,就適合消息推送、在線聊天、實時連接等webSocket場景,由服務器主動發(fā)送信息。
IdleStateHandler 空閑狀態(tài)檢測
參考Netty學習(五)—IdleStateHandler心跳機制
假如有
pipeline.addLast(new IdleStateHandler(3, 5, 7, TimeUnit.SECONDS));
則每連續(xù)3秒沒有讀事件,就會觸發(fā)讀空閑。也就是第三秒、第六秒、第九秒...都觸發(fā)一次,直到有讀事件觸發(fā)。