From 05c1b69b9a694cf99e9f07f12ebf034cb2450f5f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 10 二月 2025 10:15:38 +0800 Subject: [PATCH] websocket改造 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java index 9b162c2..0b2f9cf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java @@ -20,11 +20,14 @@ private static Map<String, Session> USERS = new ConcurrentHashMap<>(); private static Map<String, Integer> USER_TYPES = new ConcurrentHashMap<>(); + // 保存用户id与session映射 + private static Map<String, Session> USER_ID_MAP = new ConcurrentHashMap<>(); - public static void put(String key, Session session, Integer clientType) + public static void put(String key, Session session, Integer clientType, Long userId) { USERS.put(key, session); USER_TYPES.put(key, clientType); + USER_ID_MAP.put(userId.toString(), session); } public static boolean remove(Session session) @@ -120,4 +123,14 @@ } } } + + /** + * 根据用户id进行点对点推送 + * @param userId 用户id + * @param message 消息内容 + */ + public static void sendMessageToUserById(Long userId, String message) { + Session session = USER_ID_MAP.get(userId.toString()); + sendMessageToUserByText(session, message); + } } -- Gitblit v1.7.1