首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spring引导(使用netty服务器)中启用websocket消息压缩缩容(使用rsocket协议)

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

Stack Overflow用户
提问于 2020-11-12 18:34:04
回答 1查看 198关注 0票数 1

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

我正在使用依赖关系:

代码语言:javascript
复制
 <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中是否有支持此功能的属性?

EN

回答 1

Stack Overflow用户

发布于 2021-01-07 00:08:26

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

代码语言:javascript
复制
@Bean
public WebSocketHandlerAdapter handlerAdapter(WebSocketService webSocketService) {
    return new WebSocketHandlerAdapter(webSocketService);
}
@Bean
public WebSocketService webSocketService() {
    return new HandshakeWebSocketService(
    new ReactorNettyRequestUpgradeStrategy(WebsocketServerSpec.builder().compress(true)));
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64802242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档