liusuyi
2025-02-20 35f1a08b31531d971169403978cddf3328accb26
ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyMessageHandler.java
@@ -1,6 +1,9 @@
package com.ard.tianyu.websocket.handler;
import com.ard.tianyu.websocket.domain.ControlRequestMessage;
import com.ard.tianyu.websocket.domain.WsMessage;
import com.ard.tianyu.websocket.utils.WebSocketUtil;
import com.ard.tianyu.websocket.utils.WsMessageConverter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
@@ -13,27 +16,27 @@
public class TyMessageHandler extends TextWebSocketHandler {
    @Override
    public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    public void handleTextMessage(WebSocketSession session, TextMessage message) {
        // 处理接收到的消息
        String payload = message.getPayload();
        log.info("【websocket】Received message: " + payload);
        log.info("【websocket】size: " + WebSocketUtil.ONLINE_USER_SESSIONS.size());
        log.info("【cmd】Received message: {}", payload);
        log.info("【cmd】size: {}", WebSocketUtil.ONLINE_USER_SESSIONS.size());
    }
    @Override
    public void afterConnectionEstablished(WebSocketSession session) {
        log.info("【websocket】Connected: " + session.getId());
        log.info("【cmd】Connected: {}", session.getId());
        String userId = (String) session.getAttributes().get("userId");
        WebSocketUtil.ONLINE_USER_SESSIONS.put(userId, session);
        log.info("【websocket】size: " + WebSocketUtil.ONLINE_USER_SESSIONS.size());
        log.info("【cmd】size: {}", WebSocketUtil.ONLINE_USER_SESSIONS.size());
    }
    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
        log.info("【websocket】Disconnected: " + session.getId());
        log.info("【cmd】Disconnected: {}", session.getId());
        String userId = (String) session.getAttributes().get("userId");
        WebSocketUtil.ONLINE_USER_SESSIONS.remove(userId);
        log.info("【websocket】size: " + WebSocketUtil.ONLINE_USER_SESSIONS.size());
        log.info("【cmd】size: {}", WebSocketUtil.ONLINE_USER_SESSIONS.size());
    }
}