第一步:导入Maven坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
第二步:配置SpringBoot配置类
@Configuration
public class WebSocketConfiguration {
@Bean
public ServerEndpointExporter serverEndpointExporter(){
return new ServerEndpointExporter();
}
}
第三步:创建WebSocletService类
@Component
@ServerEndpoint("/ws/{id}")
public class WebSocketServer {
private static Map<String, Session> sessionMap = new HashMap<>();
@OnOpen
public void onOpen(Session session, @PathParam("id") String id){
System.out.println("客户端:"+id+",建立连接");
sessionMap.put(id, session);
System.out.println("-------------------当前在线人数"+sessionMap.size()+"人-------------------");
sessionMap.forEach((key,value)->{
System.out.println("key:"+key+",value:"+value);
});
}
@OnMessage
public void onMessage(String message,@PathParam("id") String id){
System.out.println("收到消息:"+message+",来自:"+id);
}
@OnClose
public void onClose(@PathParam("id") String id){
System.out.println("客户端:"+id+",已下线");
sessionMap.remove(id);
}
}
第四步:测试连接地址:ws://localhost/ws/1