课件和 Demo 地址
https://gitee.com/geektime-geekbang/geek_netty
作者回复: 这个很赞,正好我也学习下,做到举一反四,哈
作者回复: 1 你好像颠倒了关系,websocket本来就是长连接的,而长连接的问题就是,有可能连接已死而上层未为可知,所以才需要ping-pong(websocket协议格式中自带了)这种keepalive来检查,如果发现不行了,就断开(这个描述和你说的一样的)。如果用“保持”这词,那应该有idle check自动断连的实现才用这个词比较合适,这里你并无提及。 2 我没有用过netty的websocket开发过产品级的项目(用的spring websocket),所以不敢说分享值得借鉴的经验,我粗略看了下他的实现,基本功能(编解码等)应该是可以的,主要还是你自己去实现你自己的业务。你去试一试,至少对web socket协议的理解要好多了,其他的一些web socket框架,比较好用,但是实现不够“透明”。谈到具体实现业务可以参考: io.netty.example.http.websocketx.benchmarkserver.WebSocketServerHandler#handleWebSocketFrame 谢谢!