| | |
| | | /** |
| | | * 默认的 {@link WebSocketSessionManager} 实现类 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | public class WebSocketSessionManagerImpl implements WebSocketSessionManager { |
| | | |
| | |
| | | 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()); |
| | |
| | | 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()); |