diff --git a/src/main/java/com/zhangshu/chat/demo/websocket/ChatRoom.java b/src/main/java/com/zhangshu/chat/demo/websocket/ChatRoom.java index be45400..de2a7f9 100644 --- a/src/main/java/com/zhangshu/chat/demo/websocket/ChatRoom.java +++ b/src/main/java/com/zhangshu/chat/demo/websocket/ChatRoom.java @@ -15,6 +15,7 @@ import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; +import java.util.Iterator; import java.util.Objects; import java.util.Optional; @@ -37,10 +38,10 @@ public class ChatRoom { */ @OnOpen public void onOpen(Session session, @PathParam("userId") Long userId) { - if (!getRoomCache().isExistUser(userId)) { - sendMessage("用户不在房间中,拒绝连接", session); - return; - } +// if (!getRoomCache().isExistUser(userId)) { +// sendMessage("用户不在房间中,拒绝连接", session); +// return; +// } String sessionId = session.getId().toLowerCase(); sessionUserCache.put(sessionId, userId); sessionCache.put(sessionId, session); @@ -65,6 +66,14 @@ public class ChatRoom { } Room room = getRoomCache().getRoomByUser(userId); if (Objects.isNull(room)) { + for (Session sendSession : sessionCache) { + UserMessageVo messageVo = UserMessageVo.builder() + .id(userId) + .message(message) + .build(); + String text = JSONUtil.toJsonStr(messageVo); + this.sendMessage(text, sendSession); + } return; } Optional userVo = room.getUserList().stream().filter(v -> v.getId().equals(userId)).findFirst();