添加依赖
< dependency> < groupId> org.springframework.boot</ groupId> < artifactId> spring-boot-starter-websocket</ artifactId>
</ dependency>
添加配置类
@Configuration
public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter ( ) { return new ServerEndpointExporter ( ) ; }
}
添加服务类
@Component
@ServerEndpoint ( "/ws/{clientId}" )
public class WebSocketServer { private static Map < String , Session > sessionMap = new HashMap < > ( ) ; @OnOpen public void onOpen ( Session session, @PathParam ( "clientId" ) String clientId) { System . err. println ( "客户端:" + clientId + "建立连结" ) ; sessionMap. put ( clientId, session) ; } @OnClose public void onClose ( @PathParam ( "clientId" ) String clientId) { sessionMap. remove ( clientId) ; } @OnMessage public void onMessage ( String message, @PathParam ( "clientId" ) String clientId) { System . err. println ( "收到来自客户端" + clientId + "的消息:" + message) ; } public void sendMessage ( String message) { Collection < Session > sessions = sessionMap. values ( ) ; for ( Session session : sessions) { try { session. getBasicRemote ( ) . sendText ( message) ; } catch ( Exception e) { e. printStackTrace ( ) ; } } } }