我想在netty环境中使用websocket和rsocket在服务器端启用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>spring boot中是否有支持此功能的属性?
发布于 2021-01-07 00:08:26
在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)));
}

https://stackoverflow.com/questions/64802242
复制相似问题