Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在spring云网关中处理websocket消息_Spring_Websocket_Spring Cloud_Spring Cloud Gateway - Fatal编程技术网

如何在spring云网关中处理websocket消息

如何在spring云网关中处理websocket消息,spring,websocket,spring-cloud,spring-cloud-gateway,Spring,Websocket,Spring Cloud,Spring Cloud Gateway,我正在使用SpringCloudGateway将websocket消息转发到后端服务,经过一些挖掘,我知道SpringCloudGateway使用WebSocket08FrameDecoder进行编解码器,并在io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker\handshake中注册它: if (ctx == null) { // this means the user use a Ht

我正在使用SpringCloudGateway将websocket消息转发到后端服务,经过一些挖掘,我知道SpringCloudGateway使用
WebSocket08FrameDecoder
进行编解码器,并在
io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker\handshake
中注册它:

   if (ctx == null) {
            // this means the user use a HttpServerCodec
            ctx = p.context(HttpServerCodec.class);
            if (ctx == null) {
                promise.setFailure(
                        new IllegalStateException("No HttpDecoder and no HttpServerCodec in the pipeline"));
                return promise;
            }
            p.addBefore(ctx.name(), "wsencoder", newWebSocketEncoder());
            p.addBefore(ctx.name(), "wsdecoder", newWebsocketDecoder());
            encoderName = ctx.name();
        } else {
            p.replace(ctx.name(), "wsdecoder", newWebsocketDecoder());

            encoderName = p.context(HttpResponseEncoder.class).name();
            p.addBefore(encoderName, "wsencoder", newWebSocketEncoder());
        }
如何使用websocket消息添加一些额外信息?有没有办法注册我自己的websocket编解码器?谢谢