| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package top.haijunit.websocket.utils;
- import lombok.experimental.UtilityClass;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.socket.TextMessage;
- import org.springframework.web.socket.WebSocketMessage;
- import org.springframework.web.socket.WebSocketSession;
- import top.haijunit.websocket.handler.WebSocketSessionHolder;
- import java.io.IOException;
- /**
- * @author zhanghaijun
- * @date 2023/11/17 17:58
- * @description 工具类
- */
- @Slf4j
- @UtilityClass
- public class WebSocketUtils {
- /**
- * 发送消息
- *
- * @param sessionKey session主键 一般为用户id
- * @param message 消息文本
- */
- public static void sendMessage(String sessionKey, String message) {
- WebSocketSession session = WebSocketSessionHolder.getSessions(sessionKey);
- sendMessage(session, message);
- }
- public static void sendMessage(String message) {
- for (String item : WebSocketSessionHolder.getSessionsAll()) {
- sendMessage(item, message);
- }
- }
- public static void sendMessage(WebSocketSession session, String message) {
- sendMessage(session, new TextMessage(message));
- }
- public static void sendMessage(WebSocketSession session, WebSocketMessage<?> message) {
- if (session == null || !session.isOpen()) {
- log.error("[websocket] session会话失效");
- } else {
- try {
- session.sendMessage(message);
- } catch (IOException e) {
- log.error("[websocket] session({}) 发送消息({}) 异常", session, message, e);
- }
- }
- }
- }
|