📅  最后修改于: 2023-12-03 15:20:13.519000             🧑  作者: Mango
WebSocket 是一种在客户端和服务器之间实现实时通信的技术。Spring 提供了一种使用 WebSocket 的简单方法,即 Spring WebSocket 框架。使用 Spring WebSocket,可以轻松地实现实时通信功能。
然而,在默认情况下,Spring WebSocket 的安全配置会限制 WebSocket 连接的来源地址。为了解决该问题,需要进行一些配置,使得 WebSocket 可以接受来自指定来源地址的连接。
在 Java 中,可以使用以下示例代码来实现 WebSocket 允许来源:
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myHandler(), "/myHandler")
.setAllowedOrigins("http://localhost:8080");
}
@Bean
public WebSocketHandler myHandler() {
return new MyHandler();
}
}
在上述代码中,WebSocketHandlerRegistry
的 setAllowedOrigins
方法用于指定允许的来源地址,这里指定了 http://localhost:8080
。
需要注意的是,如果需要允许多个来源地址,可以使用 setAllowedOrigins
方法的重载版本,并指定多个参数。
另外,也可以使用通配符 *
来允许所有来源地址,例如:
registry.addHandler(myHandler(), "/myHandler")
.setAllowedOrigins("*");
以上就是使用 Spring WebSocket 允许来源的方法,需在 WebSocketConfigurer 中进行配置,可以为指定的来源地址接受 WebSocket 连接。