首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在春季启动时调用rest之后,是否可以使用WebSocket发送消息?

在春季启动时调用rest之后,是否可以使用WebSocket发送消息?
EN

Stack Overflow用户
提问于 2022-05-08 14:07:51
回答 1查看 410关注 0票数 0

在春季启动时调用rest之后,是否可以使用WebSocket发送消息?请帮助纠正我,我有一些配置如下

代码语言:javascript
复制
//Use to handle connection and text message
Class SignalHandler extent TextWebSocketHandler{

}

@Configuration
@RequiredArgsConstructor
public class WebSocketConfig implements WebSocketConfigurer {
    private final SignalHandler signalHandler;
    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(signalHandler, "/signal")
                .setAllowedOrigins("*");
    }

    @Bean
    public ServletServerContainerFactoryBean createWebSocketContainer() {
        ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
        container.setMaxTextMessageBufferSize(8192);
        container.setMaxBinaryMessageBufferSize(8192);
        return container;
    }
}

目前,如果我通过点到http://localhost:8080/signal从Web或移动创建一个WebSocket连接来连接/离开/在SignalHandler上处理消息,那么它就可以正常工作了。

在我的例子中,我在后端有一个rest请求,在成功调用之后,我想向所有在房间里的客户发送消息。

请你告诉我,我该怎么做?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-05-08 15:53:42

我在这里建议的是使用STOMP (https://spring.io/guides/gs/messaging-stomp-websocket/),它是一个应用程序级协议,位于原始web套接字之上。它将抽象作为队列和更易于使用的主题。在回答您的问题时,我认为您可能需要重新设计您的apis,以便完全使用websocket。例如,只要有人加入,你就可以用主题来广播你的信息。

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

https://stackoverflow.com/questions/72161803

复制
相关文章

相似问题

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