自动化立体仓库 - WMS系统
13
zhang
1 天以前 82de5a307466894bbb0258f8a63a26a7bb96d80d
src/main/java/com/zy/common/config/WebSocketServer.java
@@ -23,6 +23,7 @@
     * 记录当前在线连接数
     */
    public static final Map<String, Session> sessionMap = new ConcurrentHashMap<>();
    /**
     * 连接建立成功调用的方法
     */
@@ -42,6 +43,7 @@
//        {"users": [{"username": "zhang"},{ "username": "admin"}]}
        sendAllMessage(JSONUtil.toJsonStr(result));  // 后台发送消息给所有的客户端
    }
    /**
     * 连接关闭调用的方法
     */
@@ -50,11 +52,13 @@
        sessionMap.remove(username);
        log.info("有一连接关闭,移除username={}的用户session, 当前在线人数为:{}", username, sessionMap.size());
    }
    /**
     * 收到客户端消息后调用的方法
     * 后台收到客户端发送过来的消息
     * onMessage 是一个消息的中转站
     * 接受 浏览器端 socket.send 发送过来的 json数据
     *
     * @param message 客户端发送过来的消息
     */
    @OnMessage
@@ -66,9 +70,9 @@
        // {"to": "admin", "text": "聊天文本"}
        if ("heartBeat".equals(toUsername)) {
            log.info("心跳");
        }else if ("all".equals(toUsername)) {
        } else if ("all".equals(toUsername)) {
            sendAllMessage(text);
        }else {
        } else {
            Session toSession = sessionMap.get(toUsername); // 根据 to用户名来获取 session,再通过session发送消息文本
            if (toSession != null) {
                // 服务器端 再把消息组装一下,组装后的消息包含发送人和发送的文本内容
@@ -84,11 +88,13 @@
        }
    }
    @OnError
    public void onError(Session session, Throwable error) {
        log.error("发生错误");
        error.printStackTrace();
    }
    /**
     * 服务端发送消息给客户端
     */
@@ -100,6 +106,7 @@
            log.error("服务端发送消息给客户端失败", e);
        }
    }
    /**
     * 服务端发送消息给所有客户端
     */