springboot Socket 参数 demo
时间: 2023-11-19 20:04:31 浏览: 92
以下是一个使用 Spring Boot 的 WebSocket 的参数 demo:
首先,需要在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
```
然后,创建一个 WebSocketConfig 类,用于配置 WebSocket:
```java
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new MyWebSocketHandler(), "/my-websocket");
}
}
```
在上面的示例中,我们使用了 MyWebSocketHandler 类来处理 WebSocket 连接,它实现了 WebSocketHandler 接口:
```java
public class MyWebSocketHandler implements WebSocketHandler {
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
// 连接建立之后的处理逻辑
}
@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
// 处理收到的消息
}
@Override
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
// 处理传输错误
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
// 连接关闭之后的处理逻辑
}
@Override
public boolean supportsPartialMessages() {
return false;
}
}
```
在 MyWebSocketHandler 中,我们可以实现 afterConnectionEstablished() 方法来处理连接建立之后的逻辑,handleMessage() 方法来处理收到的消息,handleTransportError() 方法来处理传输错误,以及 afterConnectionClosed() 方法来处理连接关闭之后的逻辑。
最后,我们可以在前端页面中使用 JavaScript 来建立 WebSocket 连接:
```javascript
var socket = new WebSocket("ws://localhost:8080/my-websocket");
socket.onopen = function() {
// 连接建立之后的处理逻辑
};
socket.onmessage = function(event) {
// 处理收到的消息
};
socket.onerror = function(event) {
// 处理传输错误
};
socket.onclose = function(event) {
// 连接关闭之后的处理逻辑
};
```
注意,这里的 WebSocket 连接地址应该与后端代码中注册的地址相同(即 "/my-websocket")。
阅读全文