gaoluyang
6 天以前 c55aca77e84607238c3354168a8642176c575ca1
yudao-framework/yudao-spring-boot-starter-websocket/src/main/java/cn/iocoder/yudao/framework/websocket/core/session/WebSocketSessionManagerImpl.java
@@ -43,7 +43,8 @@
        idSessions.put(session.getId(), session);
        // 添加到 userSessions 中
        LoginUser user = WebSocketFrameworkUtils.getLoginUser(session);
        if (user == null) {
        // 用户或用户类型为空时不处理:ConcurrentHashMap 不允许 null key,会直接抛 NPE 断开连接
        if (user == null || user.getUserType() == null || user.getId() == null) {
            return;
        }
        ConcurrentMap<Long, CopyOnWriteArrayList<WebSocketSession>> userSessionsMap = userSessions.get(user.getUserType());
@@ -69,7 +70,8 @@
        idSessions.remove(session.getId());
        // 移除从 idSessions 中
        LoginUser user = WebSocketFrameworkUtils.getLoginUser(session);
        if (user == null) {
        // 用户或用户类型为空时不处理:ConcurrentHashMap 不允许 null key,会直接抛 NPE 断开连接
        if (user == null || user.getUserType() == null || user.getId() == null) {
            return;
        }
        ConcurrentMap<Long, CopyOnWriteArrayList<WebSocketSession>> userSessionsMap = userSessions.get(user.getUserType());