tsurumure il y a 7 mois
Parent
commit
d85ab7389e

+ 1 - 0
src/main/java/com/backendsys/modules/sse/entity/SseResponseEnum.java

@@ -3,6 +3,7 @@ package com.backendsys.modules.sse.entity;
 public enum SseResponseEnum {
 
     CONNECT("connect", "建立连接"),
+    DISCONNECT("disconnect", "断开连接"),
     NOTICE("notice", "通知"),
     UPLOAD("upload", "上传");
 

+ 4 - 1
src/main/java/com/backendsys/modules/sse/utils/SseUtil.java

@@ -3,6 +3,8 @@ package com.backendsys.modules.sse.utils;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.json.JSONUtil;
 import com.backendsys.modules.sse.emitter.SseEmitterManager;
+import com.backendsys.modules.sse.entity.SseResponse;
+import com.backendsys.modules.sse.entity.SseResponseEnum;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 
@@ -49,7 +51,8 @@ public class SseUtil {
         SseEmitterUTF8 oldEmitter = manager.getEmitter(emitterKey);
         if (oldEmitter != null) {
             try {
-                oldEmitter.send(SseEmitter.event().data("Disconnected! (连接中断)"));
+                String dataStr = (new SseResponse(SseResponseEnum.DISCONNECT)).toJsonStr();
+                oldEmitter.send(SseEmitter.event().data(dataStr));
                 oldEmitter.complete();              // 关闭旧的连接
                 manager.removeEmitter(oldEmitter);  // 从管理器中移除旧的连接
             } catch (IOException e) {