为了账号安全,请及时绑定邮箱和手机立即绑定

带有 Spring Boot 的 JAVAX JSR 356 Websocket

带有 Spring Boot 的 JAVAX JSR 356 Websocket

慕斯709654 2021-07-21 13:10:40
我正在尝试在 Spring Boot 项目中使用 Javax JSR 356 API 实现服务器端 websocket 端点。我正在关注本教程。我知道在这个主题上有一些关于 SO 的问题,但我无法找到一个合理的解决方案。当我尝试使用客户端 (ARC) 连接到 websocket 时,它只报告“发生未知错误”。我检查了嵌入式 Tomcat 服务器的日志,但没有任何条目。根据 Tomcat 启动条目,应用程序的上下文路径为空 (""),因此我确定我使用正确的 URI 访问了 websocket。这是我的代码:@ServerEndpoint(value = "/socket", configurator = SpringConfigurator.class)public class WebSocketController{    @OnOpen    public void onOpen(Session session) throws IOException    {        System.out.println("Socket has been opened: " + session.getId());    }    @OnClose    public void onClose(Session session) throws IonException    {        System.out.println("Socket has been closed: " + session.getId());    }}Spring configuration class@Configurationpublic class WebSocketConfig{    @Bean    public WebSocketController webSocketController()    {        return new WebSocketController();    }    @Bean    public ServletContextAware endpointExporterInitializer(final ApplicationContext applicationContext) {        return new ServletContextAware() {            @Override            public void setServletContext(ServletContext servletContext) {                ServerEndpointExporter serverEndpointExporter = new ServerEndpointExporter();                serverEndpointExporter.setApplicationContext(applicationContext);                try {                    serverEndpointExporter.afterPropertiesSet();                } catch (Exception e) {                    throw new RuntimeException(e);                }            }        };    }}如何在 Spring Boot 应用程序中实现服务器端 websocket 端点?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 226 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信