Spring boot 如何在spring引导中启用websocket消息压缩deflate(使用rsocket协议)(使用netty服务器)
我想使用websocket和rsocket在netty环境中启用服务器端的permessage deflate压缩。我现在的握手是这样的: 我正在使用依赖项: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
<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)));
}