WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
springboot提供了相关整合starter
<!--websocket-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
基础配置
我们就试着配置使用一下
@RestController
@ServerEndpoint(value = "/tipschant")
@Slf4j
public class WebScoketController {
@OnOpen
public void openSession(Session session) {
log.info("打开WebScoket");
}
@OnMessage
public void onMessage(String message) {
log.info("发送的信息是:"+message);
}
@OnClose
public void onClose(Session session) {
log.info("关闭了连接");
try {
session.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@OnError
public void onError(Session session, Throwable throwable) {
try {
session.close();
} catch (IOException e) {
log.info("出错了:{}",e.getMessage());
e.printStackTrace();
}
throwable.printStackTrace(