From 35f1a08b31531d971169403978cddf3328accb26 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 20 Feb 2025 16:01:06 +0800
Subject: [PATCH] 添加无人机控制权申请、处理、释放

---
 ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java b/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
index 09565c8..e743676 100644
--- a/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
+++ b/ard-work/src/main/java/com/ard/tianyu/websocket/handler/TyStreamHandler.java
@@ -11,6 +11,7 @@
 import org.springframework.stereotype.Component;
 import org.springframework.web.socket.CloseStatus;
 import org.springframework.web.socket.TextMessage;
+import org.springframework.web.socket.WebSocketMessage;
 import org.springframework.web.socket.WebSocketSession;
 import org.springframework.web.socket.handler.TextWebSocketHandler;
 
@@ -28,9 +29,9 @@
     @Resource
     private IMediaService mediaService;
 
-    //存储盒子的拉流地址
-    private static final ConcurrentMap<String, String> BOX_STREAM_PULL_CACHE = new ConcurrentHashMap<>();
-    //存储盒子的拉流用户集合
+    //盒子拉流地址缓存
+    private static final ConcurrentMap<String, String> BOX_STREAM_PULL_MAP = new ConcurrentHashMap<>();
+    //盒子拉流用户集合缓存
     private static final ConcurrentMap<String, Set<String>> STREAM_USER_MAP = new ConcurrentHashMap<>();
 
     @Override
@@ -48,29 +49,28 @@
             }
         }
 
-        log.info("【stream】Received message: " + payload);
-        log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+        log.info("【stream】Received message: {}", payload);
+        log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
     }
 
     //开始拉流
     private void startPullStream(String boxSn, String userId) {
-        //BOX_STREAM_USER_COUNT.merge(boxSn, 1, Integer::sum);
         STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
         String messageReply;
-        if (BOX_STREAM_PULL_CACHE.containsKey(boxSn)) {
-            String webrtcUrl = BOX_STREAM_PULL_CACHE.get(boxSn);
+        if (BOX_STREAM_PULL_MAP.containsKey(boxSn)) {
+            String webrtcUrl = BOX_STREAM_PULL_MAP.get(boxSn);
             messageReply = webrtcUrl;
-            log.warn("【stream】Already pulled stream: " + webrtcUrl);
+            log.warn("【stream】Already pulled stream: {}", webrtcUrl);
         } else {
             BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
             if (boxLiveUrl != null) {
-                ArdVtdu vtdu = ArdVtdu.builder().name(boxSn).mode(0).isCode(0).rtspSource(boxLiveUrl.getRtmp()).build();
+                ArdVtdu vtdu = ArdVtdu.builder().name(boxSn).mode(0).isCode(0).rtspSource(boxLiveUrl.getRtsp()).build();
                 ArdVtdu ardVtdu = mediaService.addPath(vtdu);
-                BOX_STREAM_PULL_CACHE.put(boxSn, ardVtdu.getWebrtcUrl());
+                BOX_STREAM_PULL_MAP.put(boxSn, ardVtdu.getWebrtcUrl());
                 messageReply = ardVtdu.getWebrtcUrl();
-                log.warn("【stream】First pulled stream: " + ardVtdu.getWebrtcUrl());
+                log.warn("【stream】First pulled stream: {}", ardVtdu.getWebrtcUrl());
             } else {
-                log.warn("【stream】Box stream not found: " + boxSn);
+                log.warn("【stream】Box stream not found: {}", boxSn);
                 messageReply = "【stream】Box stream not found: " + boxSn;
             }
         }
@@ -99,17 +99,17 @@
     //关闭拉流
     private void closeStream(String boxSn) {
         mediaService.removePath(boxSn);
-        BOX_STREAM_PULL_CACHE.remove(boxSn);
+        BOX_STREAM_PULL_MAP.remove(boxSn);
         STREAM_USER_MAP.remove(boxSn);
-        log.warn("【stream】Stream closed due to no active users: " + boxSn);
+        log.warn("【stream】Stream closed due to no active users: {}", boxSn);
     }
 
     @Override
     public void afterConnectionEstablished(WebSocketSession session) {
         String userId = (String) session.getAttributes().get("userId");
         WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.put(userId, session);
-        log.info("【stream】Connected: " + session.getId());
-        log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+        log.info("【stream】Connected: {}", session.getId());
+        log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
     }
 
     @Override
@@ -117,7 +117,7 @@
         String userId = (String) session.getAttributes().get("userId");
         WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.remove(userId);
         STREAM_USER_MAP.forEach((boxSn, users) -> stopPullStream(boxSn, userId));
-        log.info("【stream】Disconnected: " + session.getId());
-        log.info("【stream】size: " + WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
+        log.info("【stream】Disconnected: {}", session.getId());
+        log.info("【stream】size: {}", WebSocketUtil.STREAM_ONLINE_USER_SESSIONS.size());
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3