Spring boot 如何在spring引导中启用websocket消息压缩deflate(使用rsocket协议)(使用netty服务器)

Spring boot 如何在spring引导中启用websocket消息压缩deflate(使用rsocket协议)(使用netty服务器),spring-boot,websocket,compression,netty,rsocket,Spring Boot,Websocket,Compression,Netty,Rsocket,我想使用websocket和rsocket在netty环境中启用服务器端的permessage deflate压缩。我现在的握手是这样的: 我正在使用依赖项: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-websocket</artifactId> <version>5.2.2

我想使用websocket和rsocket在netty环境中启用服务器端的permessage deflate压缩。我现在的握手是这样的:

我正在使用依赖项:

 <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-websocket</artifactId>
        <version>5.2.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-messaging</artifactId>
        <version>5.2.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-rsocket</artifactId>
    </dependency>

org.springframework
弹簧网袋
5.2.2.1发布
org.springframework
spring消息
5.2.2.1发布
org.springframework.boot
弹簧防尘套启动器插座

spring boot中有支持此功能的属性吗?

默认情况下,netty环境中的服务器端禁用了permessage deflate压缩。 您需要使用reactor netty定义bean
WebSocketService
,并将压缩设置为true以激活它:

@Bean
public WebSocketHandlerAdapter handlerAdapter(WebSocketService webSocketService) {
    return new WebSocketHandlerAdapter(webSocketService);
}
@Bean
public WebSocketService webSocketService() {
    return new HandshakeWebSocketService(
    new ReactorNettyRequestUpgradeStrategy(WebsocketServerSpec.builder().compress(true)));
}

默认情况下,在netty环境中,服务器端禁用permessage deflate压缩。 您需要使用reactor netty定义bean
WebSocketService
,并将压缩设置为true以激活它:

@Bean
public WebSocketHandlerAdapter handlerAdapter(WebSocketService webSocketService) {
    return new WebSocketHandlerAdapter(webSocketService);
}
@Bean
public WebSocketService webSocketService() {
    return new HandshakeWebSocketService(
    new ReactorNettyRequestUpgradeStrategy(WebsocketServerSpec.builder().compress(true)));
}