添加maven依赖
org.springframework.boot spring-boot-starter-parent2.2.5.RELEASE 4.0.0 springboot-websocketspringboot-websocket org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-websocket
添加websocket配置
@Configuration
@EnableWebSocket
public class MyWebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myHandler(), "/myHandler").setAllowedOrigins("*");
}
@Bean
public WebSocketHandler myHandler() {
return new MyTextWebSocketHandler();
}
}
实现具体的handler
public class MyTextWebSocketHandler extends TextWebSocketHandler {
private Set sessions = new HashSet<>();
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
if (session.isOpen()) {
sessions.add(session);
}
sendToAll(message);
}
private void sendToAll(TextMessage message) throws IOException {
for (WebSocketSession session : sessions) {
session.sendMessage(message);
}
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
sessions.remove(session);
}
}
即可通过ws://localhost:8080/myHandler访问websocket
添加测试页面:
当前用户:
发送消息:


