|
@@ -3,11 +3,13 @@ package top.haijunit.websocket.handler;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.springframework.context.ApplicationContext;
|
|
|
import org.springframework.web.socket.CloseStatus;
|
|
import org.springframework.web.socket.CloseStatus;
|
|
|
import org.springframework.web.socket.PongMessage;
|
|
import org.springframework.web.socket.PongMessage;
|
|
|
import org.springframework.web.socket.TextMessage;
|
|
import org.springframework.web.socket.TextMessage;
|
|
|
import org.springframework.web.socket.WebSocketSession;
|
|
import org.springframework.web.socket.WebSocketSession;
|
|
|
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
|
|
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
|
|
|
|
|
+import top.haijunit.websocket.event.MessageEvent;
|
|
|
import top.haijunit.websocket.utils.WebSocketUtils;
|
|
import top.haijunit.websocket.utils.WebSocketUtils;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -18,6 +20,12 @@ import top.haijunit.websocket.utils.WebSocketUtils;
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
|
|
|
|
|
|
|
+ private final ApplicationContext applicationContext;
|
|
|
|
|
+
|
|
|
|
|
+ public WebSocketHandler(ApplicationContext applicationContext) {
|
|
|
|
|
+ this.applicationContext = applicationContext;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/** 连接成功后 */
|
|
/** 连接成功后 */
|
|
|
@Override
|
|
@Override
|
|
|
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
|
|
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
|
|
@@ -27,9 +35,10 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
/** 处理发送来的文本消息 */
|
|
/** 处理发送来的文本消息 */
|
|
|
@Override
|
|
@Override
|
|
|
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
|
|
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
|
|
|
- log.info("[websocket] 连接成功:" + session.getId() + ",已收到消息:" + message.getPayload());
|
|
|
|
|
- String sessionId = Convert.toStr(session.getAttributes().get("loginUser"), "");
|
|
|
|
|
- WebSocketUtils.sendMessage(sessionId, message.getPayload());
|
|
|
|
|
|
|
+ this.applicationContext.publishEvent(new MessageEvent(this, message.getPayload()));
|
|
|
|
|
+ // log.info("[websocket] 连接成功:" + session.getId() + ",已收到消息:" + message.getPayload());
|
|
|
|
|
+ // String sessionId = Convert.toStr(session.getAttributes().get("loginUser"), "");
|
|
|
|
|
+ WebSocketUtils.sendMessage(session, "收到消息");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 心跳监测的回复 */
|
|
/** 心跳监测的回复 */
|