SpringBoot+WebSocket 只需三个步骤
- 导入依赖
org.springframework.boot spring-boot-starter-websocket
- 添加配置使得ServerEndpoint生效
@Configurationpublic class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }}
- 写Websocket程序
@ServerEndpoint(value = "/websocket2")@Componentpublic class MyWebSocket{ /** * 在线人数 */ public static int onlineNumber = 0; /** * 所有的对象 */ public static List webSockets = new CopyOnWriteArrayList (); /** * 会话 */ private Session session; /** * 建立连接 * * @param session */ @OnOpen public void onOpen(Session session) { onlineNumber++; webSockets.add(this); this.session = session; System.out.println("有新连接加入! 当前在线人数" + onlineNumber); } /** * 连接关闭 */ @OnClose public void onClose() { onlineNumber--; webSockets.remove(this); System.out.println("有连接关闭! 当前在线人数" + onlineNumber); } /** * 收到客户端的消息 * * @param message 消息 * @param session 会话 */ @OnMessage public void onMessage(String message, Session session) { System.out.println("来自客户端消息:" + message); sendMessage("欢迎连接"); } /** * 发送消息 * * @param message 消息 */ public void sendMessage(String message) { try { session.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } }}