From 16fd4235f692777cfd9cceff5090e5450e2173b3 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 04 Mar 2025 13:59:05 +0800
Subject: [PATCH] 优化包结构、增加载荷飞控权限
---
ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java | 18 ++++++++----------
1 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java b/ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
similarity index 87%
rename from ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java
rename to ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
index e3d03ca..33d5550 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
@@ -1,12 +1,10 @@
-package com.ard.tianyu.service.impl;
+package com.ard.tianyu.service.stream;
-import com.ard.tianyu.model.receiver.BoxStreamUrlReceiver;
+import com.ard.tianyu.domain.receiver.BoxStreamUrlReceiver;
import com.ard.tianyu.service.ITyService;
import com.ard.tianyu.websocket.utils.WebSocketUtil;
import com.ard.vtdu.domain.ArdVtdu;
-import com.ard.vtdu.domain.Conf;
import com.ard.vtdu.service.IMediaService;
-import com.dtflys.forest.exceptions.ForestNetworkException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -33,7 +31,7 @@
// 盒子拉流地址缓存 key:boxSn value: webrtcUrl
public static final ConcurrentMap<String, String> BOX_STREAM_PULL_MAP = new ConcurrentHashMap<>();
// 盒子拉流用户集合缓存 key:boxSn value:Set<UserId>
- public static final ConcurrentMap<String, Set<String>> STREAM_USER_MAP = new ConcurrentHashMap<>();
+ public static final ConcurrentMap<String, Set<Long>> STREAM_USER_MAP = new ConcurrentHashMap<>();
/**
* 开始拉流
@@ -41,7 +39,7 @@
* @param boxSn 盒子序列号
* @param userId 用户ID
*/
- public void startPullStream(String boxSn, String userId) {
+ public void startPullStream(String boxSn, Long userId) {
String webrtcUrl = "";
STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
//不管谁拉流都判断流媒体中是否存在
@@ -65,9 +63,9 @@
* @param boxSn 盒子序列号
* @param userId 用户ID
*/
- public void stopPullStream(String boxSn, String userId) {
+ public void stopPullStream(String boxSn, Long userId) {
synchronized (this) {
- Set<String> users = STREAM_USER_MAP.get(boxSn);
+ Set<Long> users = STREAM_USER_MAP.get(boxSn);
if (users == null) {
log.warn("{}No active users for box: {}", STREAM_LOG_PREFIX, boxSn);
sendMessageToUser(userId, "No active users for box: " + boxSn);
@@ -93,7 +91,7 @@
*
* @param userId 用户ID
*/
- public void stopAllPullStreamByUser(String userId) {
+ public void stopAllPullStreamByUser(Long userId) {
synchronized (this) {
STREAM_USER_MAP.forEach((boxSn, users) -> stopPullStream(boxSn, userId));
}
@@ -105,7 +103,7 @@
* @param userId 用户ID
* @param message 消息内容
*/
- private void sendMessageToUser(String userId, String message) {
+ private void sendMessageToUser(Long userId, String message) {
try {
WebSocketUtil.sendMessage(userId, message);
} catch (Exception e) {
--
Gitblit v1.9.3