如何在spring云网关中处理websocket消息
我正在使用SpringCloudGateway将websocket消息转发到后端服务,经过一些挖掘,我知道SpringCloudGateway使用如何在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
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编解码器?谢谢