引入依赖
<!--websocket-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
配置类
@Configuration
@EnableWebSocket //开启websocket(重点)
public class WebSocketConfig implements WebSocketConfigurer {
@Autowired
private KSDWebSocketHandler ksdWebSocketHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(ksdWebSocketHandler, "/aaa").setAllowedOrigins("*");
}
}
引入handler
@Component
@Slf4j
public class YYYWebSocketHandler extends AbstractWebSocketHandler {
//连接后触发的方法
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
//写自己的业务
}
//处理消息
@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
super.handleMessage(session, message);
}
//处理文本消息
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
//写自己的业务
}
//处理二进制消息
@Override
protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
super.handleBinaryMessage(session, message);
}
//处理心跳消息
@Override
protected void handlePongMessage(WebSocketSession session, PongMessage message) throws Exception {
super.handlePongMessage(session, message);
}
//处理错误,异常
@Override
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
super.handleTransportError(session, exception);
//写自己的业务
}
//关闭连接后的处理
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
super.afterConnectionClosed(session, status);
}
}