艾金辉
2023-07-22 a2c18aed7da4b84e118ae2f3a28779607d5ecff7
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,23 +36,21 @@
    }
    @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);
        //并且通知其他人当前用户已经离开聊天室了
        String message="用户[" + userId + "] 断开连接!";
        sendMessage(session,message);
        log.info("发送消息:"+message);
//        //并且通知其他人当前用户已经离开聊天室了
//        String message="用户[" + userId + "] 断开连接!";
//        sendMessage(session,message);
//        log.info("发送消息:"+message);
        try {
            session.close();
        } catch (IOException e) {