知识卡片

WebSocket管道组合

专业/工作 · 580.b

内容

Netty 处理 WebSocket 不是只加一个业务 Handler,而是先放 HTTP 编解码、聚合和大数据流支持,再接 WebSocket 帧处理。Pipeline 顺序表达协议升级路径,少一步就可能拿不到完整帧。

参考来源

- 位置:《Netty实战》第09章《项目实战:基于WebSocket搭建Netty服务器》(源文件:_epub-src/OEBPS/Text/chapter9.xhtml) - 结论依据:原文说明 WebSocket 基于 HTTP,要使用 HttpServerCodec,并继续添加大数据流支持和数据聚合支持。 - 原始内容:通过pipeline对象调用addLast()方法,指定了服务端所用的编解码器为HttpServerCodec。因为WebSocket基于HTTP协议,因此要用HTTP的编解码器……添加了针对写大数据流的支持……添加了针对数据聚合的支持。