springboot websocket 数据共享
时间: 2023-12-28 08:25:55 浏览: 73
spring websocket在springboot中使用
在Spring Boot中,可以使用WebSocket实现数据共享。下面是一个简单的示例:
首先,确保在pom.xml文件中添加了WebSocket的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
```
然后,创建一个WebSocket配置类,用于配置WebSocket的相关信息:
```java
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new MyWebSocketHandler(), "/websocket")
.setAllowedOrigins("*");
}
}
```
接下来,创建一个WebSocket处理器类,用于处理WebSocket的连接、消息发送和接收等操作:
```java
public class MyWebSocketHandler extends TextWebSocketHandler {
private List<WebSocketSession> sessions = new ArrayList<>();
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
sessions.add(session);
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
for (WebSocketSession s : sessions) {
s.sendMessage(message);
}
}
}
```
在上述示例中,我们创建了一个`MyWebSocketHandler`类,用于处理WebSocket的连接和消息发送。在`afterConnectionEstablished`方法中,我们将新建立的WebSocket会话添加到`sessions`列表中。在`handleTextMessage`方法中,我们遍历`sessions`列表,将接收到的消息发送给所有连接的客户端。
最后,启动Spring Boot应用程序,并使用WebSocket客户端连接到`ws://localhost:8080/websocket`。当客户端发送消息时,服务器将将该消息发送给所有连接的客户端。
阅读全文