| | |
| | | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据用户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); |
| | | } |
| | | } |