|
|
|
@ -7,7 +7,6 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
|
|
|
import org.dromara.common.websocket.dto.WebSocketMessageDto;
|
|
|
|
|
import org.dromara.common.websocket.holder.WebSocketSessionHolder;
|
|
|
|
|
import org.dromara.system.api.model.LoginUser;
|
|
|
|
|
import org.springframework.web.socket.PongMessage;
|
|
|
|
|
import org.springframework.web.socket.TextMessage;
|
|
|
|
|
import org.springframework.web.socket.WebSocketMessage;
|
|
|
|
@ -18,7 +17,6 @@ import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
|
|
|
|
|
|
import static org.dromara.common.websocket.constant.WebSocketConstants.LOGIN_USER_KEY;
|
|
|
|
|
import static org.dromara.common.websocket.constant.WebSocketConstants.WEB_SOCKET_TOPIC;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -71,7 +69,7 @@ public class WebSocketUtils {
|
|
|
|
|
broadcastMessage.setMessage(webSocketMessage.getMessage());
|
|
|
|
|
broadcastMessage.setSessionKeys(unsentSessionKeys);
|
|
|
|
|
RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> {
|
|
|
|
|
log.info(" WebSocket发送主题订阅消息topic:{} session keys:{} message:{}",
|
|
|
|
|
log.info("WebSocket发送主题订阅消息topic:{} session keys:{} message:{}",
|
|
|
|
|
WEB_SOCKET_TOPIC, unsentSessionKeys, webSocketMessage.getMessage());
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
@ -89,7 +87,7 @@ public class WebSocketUtils {
|
|
|
|
|
WebSocketMessageDto broadcastMessage = new WebSocketMessageDto();
|
|
|
|
|
broadcastMessage.setMessage(message);
|
|
|
|
|
RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> {
|
|
|
|
|
log.info(" WebSocket发送主题订阅消息topic:{} message:{}", WEB_SOCKET_TOPIC, message);
|
|
|
|
|
log.info("WebSocket发送主题订阅消息topic:{} message:{}", WEB_SOCKET_TOPIC, message);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -106,10 +104,7 @@ public class WebSocketUtils {
|
|
|
|
|
log.error("[send] session会话已经关闭");
|
|
|
|
|
} else {
|
|
|
|
|
try {
|
|
|
|
|
// 获取当前会话中的用户
|
|
|
|
|
LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY);
|
|
|
|
|
session.sendMessage(message);
|
|
|
|
|
log.info("[send] sessionId: {},userId:{},userType:{},message:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType(), message);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
log.error("[send] session({}) 发送消息({}) 异常", session, message, e);
|
|
|
|
|
}
|
|
|
|
|