聊天室信息发送
This commit is contained in:
parent
396d93123c
commit
0a1f878c6f
|
|
@ -15,6 +15,7 @@ import javax.websocket.*;
|
||||||
import javax.websocket.server.PathParam;
|
import javax.websocket.server.PathParam;
|
||||||
import javax.websocket.server.ServerEndpoint;
|
import javax.websocket.server.ServerEndpoint;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
@ -37,10 +38,10 @@ public class ChatRoom {
|
||||||
*/
|
*/
|
||||||
@OnOpen
|
@OnOpen
|
||||||
public void onOpen(Session session, @PathParam("userId") Long userId) {
|
public void onOpen(Session session, @PathParam("userId") Long userId) {
|
||||||
if (!getRoomCache().isExistUser(userId)) {
|
// if (!getRoomCache().isExistUser(userId)) {
|
||||||
sendMessage("用户不在房间中,拒绝连接", session);
|
// sendMessage("用户不在房间中,拒绝连接", session);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
String sessionId = session.getId().toLowerCase();
|
String sessionId = session.getId().toLowerCase();
|
||||||
sessionUserCache.put(sessionId, userId);
|
sessionUserCache.put(sessionId, userId);
|
||||||
sessionCache.put(sessionId, session);
|
sessionCache.put(sessionId, session);
|
||||||
|
|
@ -65,6 +66,14 @@ public class ChatRoom {
|
||||||
}
|
}
|
||||||
Room room = getRoomCache().getRoomByUser(userId);
|
Room room = getRoomCache().getRoomByUser(userId);
|
||||||
if (Objects.isNull(room)) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
Optional<RoomUserVo> userVo = room.getUserList().stream().filter(v -> v.getId().equals(userId)).findFirst();
|
Optional<RoomUserVo> userVo = room.getUserList().stream().filter(v -> v.getId().equals(userId)).findFirst();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue