好的,首先你需要在你的 Spring Boot 应用中引入对 WebSocket 的支持。你可以在 pom.xml 中添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
然后,你需要定义一个 WebSocket 服务端点。这可以通过实现 Spring 的 WebSocketHandler 接口来完成。例如:
@Component
public class MyWebSocketHandler implements WebSocketHandler {
@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
// 处理从客户端接收到的消息
}
@Override
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
// 处理连接出错的情况
}
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
// 处理新的 WebSocket 连接
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
// 处理连接断开的情况
}
}
接着,你需要在 Spring Boot 应用的配置类中(通常是一个带有 @Configuration 注解的类)中配置 WebSocket 服务端点,并为它指定一个 URL 映射。例如:
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Autowired
private MyWebSocketHandler webSocketHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(webSocketHandler, "/ws").setAllowedOrigins("*");
}
}
最后,在你的 Vue 应用中使用 JavaScript 的 WebSocket API 与你的 Spring Boot 应用建立 WebSocket 连接即可。例如:
``` const socket = new WebSocket('ws://localhost:8080/ws');
// 处理连接建立的情况 socket.onopen