netty聊天室,使用自定义解码器时不能支持ws连接?

问题描述

netty编写服务端,数据使用protobuf编解码,在此条件下,请问怎么接收websocket连接?

问题出现的环境背景及自己尝试过哪些方法

我代码中有 web-->后台服务(websocket)的代码(使用)

//websocket ChannelInitializer

channel.pipeline().addLast(HandlerName.httpCodec, new HttpServerCodec());//设置解码器

channel.pipeline().addLast(HandlerName.aggregator, new HttpObjectAggregator(65536));//聚合器,使用websocket会用到

channel.pipeline().addLast(HandlerName.wsChunked, new ChunkedWriteHandler());//用于大数据的分区传输

channel.pipeline().addLast(HandlerName.wsHandler, webSocketHandler);//自定义的业务handler

也有接收 java客户端-->后台服务 的代码

//protobuf编解码 ChannelInitializer

channel.pipeline().addLast(HandlerName.encoder, new ProtobufEncoder());

channel.pipeline().addLast(HandlerName.decoder, new ProtobufDecoder());

channel.pipeline().addLast(HandlerName.heartBeat, heartBeatServerHandler);

channel.pipeline().addLast(HandlerName.msg, msgHandler);

单独使用时都是可以的,但是一旦混合使用就不行了,初步判断是编解码的问题,但是不知道如何解决,还请大佬指点

以上是 netty聊天室,使用自定义解码器时不能支持ws连接? 的全部内容, 来源链接: utcz.com/p/945377.html

回到顶部