概要
P7 实现了客户端与服务端的连接(但没有发送信息)
P8 实现了聊天室,主要用到了对连接、断开连接的事件处理,以及用ChannelGroup
实现广播
P9 实现了空闲状态监测(可用于心跳包监测)
netty的独特规范
- struts2、spring等都是遵循servlet规范的,但netty基于更为底层的协议,可以不遵循servlet。
- 由于netty的精妙设计,它拥有比tomcat更大的吞吐量,很适合高并发场景。
- 但spring也不是一文不值,它进行了很多封装,能提高开发效率。而netty本身连路由机制都没有实现。
netty适合的场景
- 由于可以实现长连接,就适合消息推送、在线聊天、实时连接等webSocket场景,由服务器主动发送信息。
IdleStateHandler 空闲状态检测
参考Netty学习(五)—IdleStateHandler心跳机制
假如有
pipeline.addLast(new IdleStateHandler(3, 5, 7, TimeUnit.SECONDS));
则每连续3秒没有读事件,就会触发读空闲。也就是第三秒、第六秒、第九秒...都触发一次,直到有读事件触发。