netty聊天室,使用自定义解码器时不能支持ws连接?
问题描述
netty编写服务端,数据使用protobuf编解码,在此条件下,请问怎么接收websocket连接?
问题出现的环境背景及自己尝试过哪些方法
我代码中有 web-->后台服务(websocket)的代码(使用)
//websocket ChannelInitializerchannel.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编解码 ChannelInitializerchannel.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