‘liusuyi’
2023-06-14 f069ce1cc814e57c36b3c8d48d10af215350081b
ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java
@@ -23,12 +23,12 @@
@Component
@Slf4j(topic = "websocket")
@ServerEndpoint("/websocket")
@ServerEndpoint("/websocket/{userId}")
public class ChatServerEndpoint {
    @OnOpen
    public void openSession( Session session) {
        String userId = SecurityUtils.getUserId();
    public void openSession( @PathParam("userId")String userId, Session session) {
        ONLINE_USER_SESSIONS.put(userId, session);
        String message = "用户[" + userId + "] 成功连接!";
        log.info("用户登录:"+message);
@@ -36,17 +36,15 @@
    }
    @OnMessage
    public void onMessage( String message) {
    public void onMessage(@PathParam("userId")String userId, String message) {
        log.info("收到消息:"+message);
        String userId = SecurityUtils.getUserId();
        Session session = ONLINE_USER_SESSIONS.get(userId);
        sendMessage(session,message);
//        sendMessageAll("用户[" + userid + "] : " + message);
    }
    @OnClose
    public void onClose( Session session) {
        String userId = SecurityUtils.getUserId();
    public void onClose( @PathParam("userId")String userId,Session session) {
        //当前的Session 移除
        ONLINE_USER_SESSIONS.remove(userId);
        //并且通知其他人当前用户已经离开聊天室了