springbot 搭建websocket 服务
时间: 2023-09-23 22:12:27 浏览: 85
springboot+websocket+idea.zip
要使用 Spring Boot 搭建 WebSocket 服务,可以按照以下步骤:
1. 添加依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
```
2. 创建 WebSocket 配置类
创建一个 WebSocket 配置类,用于配置 WebSocket 相关信息:
```java
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myHandler(), "/myHandler")
.setAllowedOrigins("*");
}
@Bean
public WebSocketHandler myHandler() {
return new MyHandler();
}
}
```
其中,`MyHandler` 是你自己实现的 WebSocket 处理器,`/myHandler` 是客户端连接 WebSocket 的端点。`setAllowedOrigins("*")` 表示允许任意来源访问该 WebSocket 服务。
3. 实现 WebSocket 处理器
实现一个 WebSocket 处理器,处理客户端发送的消息,并向客户端发送消息:
```java
public class MyHandler extends TextWebSocketHandler {
@Override
public void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {
String payload = message.getPayload();
// 处理客户端发送的消息
session.sendMessage(new TextMessage("Hello, " + payload));
// 向客户端发送消息
}
}
```
4. 客户端连接 WebSocket
在客户端中,使用 JavaScript 连接 WebSocket:
```javascript
var socket = new WebSocket("ws://localhost:8080/myHandler");
socket.onopen = function(event) {
console.log("WebSocket opened: " + event);
};
socket.onmessage = function(event) {
console.log("WebSocket received message: " + event.data);
};
socket.onclose = function(event) {
console.log("WebSocket closed: " + event);
};
socket.send("world");
```
其中,`ws://localhost:8080/myHandler` 是 WebSocket 服务的地址,`socket.send("world")` 是向 WebSocket 服务发送消息。
以上就是使用 Spring Boot 搭建 WebSocket 服务的基本步骤。
阅读全文