From 1d0099a031d14b357b4d2133faba9c747a05ba7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=A2=A6=E8=BF=9C?= <1063331231@qq.com> Date: Sat, 7 Jun 2025 17:30:55 +0800 Subject: [PATCH] =?UTF-8?q?ws=E8=BF=9E=E6=8E=A5=E5=8F=91=E9=80=81=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=8A=B6=E6=80=81=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iflytop/sgs/app/ws/server/WebSocketServer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/iflytop/sgs/app/ws/server/WebSocketServer.java b/src/main/java/com/iflytop/sgs/app/ws/server/WebSocketServer.java index acaf1c5..f1bb9fb 100644 --- a/src/main/java/com/iflytop/sgs/app/ws/server/WebSocketServer.java +++ b/src/main/java/com/iflytop/sgs/app/ws/server/WebSocketServer.java @@ -1,8 +1,13 @@ package com.iflytop.sgs.app.ws.server; +import com.iflytop.sgs.app.model.bo.status.device.DeviceState; +import com.iflytop.sgs.app.service.device.DeviceStateService; +import com.iflytop.sgs.common.constant.WebSocketMessageType; import jakarta.websocket.*; import jakarta.websocket.server.ServerEndpoint; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Collections; @@ -12,9 +17,13 @@ import java.util.Set; @Slf4j @ServerEndpoint("/ws") @Component +@RequiredArgsConstructor public class WebSocketServer { private static final Set sessions = Collections.synchronizedSet(new HashSet<>()); + private final DeviceStateService deviceStateService; + private final WebSocketSender webSocketService; + public static void sendMessageToClients(String message) { synchronized (sessions) { @@ -31,6 +40,7 @@ public class WebSocketServer { @OnOpen public void onOpen(Session session) { sessions.add(session); + webSocketService.push(WebSocketMessageType.STATUS, deviceStateService.getDeviceState()); log.info("新连接加入,sessionId={}", session.getId()); }