我正在尝试在 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 端点?
添加回答
举报
0/150
提交
取消