From 9adf12ca6a2218a66ce24e3dd3e0cab5cd53c566 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 18 四月 2024 17:34:00 +0800
Subject: [PATCH] 临时提交

---
 src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java                    |    4 +++-
 src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java  |    2 ++
 src/main/java/com/genersoft/iot/vmp/service/redisMsg/service/RedisRpcServiceImpl.java |    7 +++++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
index e416bc3..e3617a7 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisRpcConfig.java
@@ -88,7 +88,7 @@
             if (userSetting.getServerId().equals(request.getFromId())) {
                 return;
             }
-            logger.info("[redis-rpc] >> {}", request);
+            logger.info("[redis-rpc] << {}", request);
             Method method = getMethod(request.getUri());
             // 娌℃湁鎼哄甫鐩爣ID鐨勫彲浠ョ悊瑙d负鍝釜wvp鏈夌粨鏋滃氨鍝釜鍥炲锛屾惡甯︾洰鏍嘔D锛屼絾鏄鏋滄槸涓嶅瓨鍦ㄧ殑uri鍒欑洿鎺ュ洖澶�404
             if (userSetting.getServerId().equals(request.getToId())) {
@@ -130,6 +130,7 @@
     }
 
     private void sendResponse(RedisRpcResponse response){
+        logger.info("[redis-rpc] >> {}", response);
         response.setToId(userSetting.getServerId());
         RedisRpcMessage message = new RedisRpcMessage();
         message.setResponse(response);
@@ -137,6 +138,7 @@
     }
 
     private void sendRequest(RedisRpcRequest request){
+        logger.info("[redis-rpc] >> {}", request);
         RedisRpcMessage message = new RedisRpcMessage();
         message.setRequest(request);
         redisTemplate.convertAndSend(REDIS_REQUEST_CHANNEL_KEY, message);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java
index b61615b..0d01c94 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java
@@ -164,6 +164,7 @@
             response.setStatusCode(200);
             // 鎵嬪姩鍙戦�佺粨鏋�
             sendResponse(response);
+            hookSubscribe.removeSubscribe(hook);
 
         });
         return null;
@@ -300,6 +301,7 @@
     }
 
     private void sendResponse(RedisRpcResponse response){
+        logger.info("[redis-rpc] >> {}", response);
         response.setToId(userSetting.getServerId());
         RedisRpcMessage message = new RedisRpcMessage();
         message.setResponse(response);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/service/RedisRpcServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/service/RedisRpcServiceImpl.java
index f4c429c..75fc1ca 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/service/RedisRpcServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/service/RedisRpcServiceImpl.java
@@ -89,6 +89,8 @@
         // 鐩戝惉娴佷笂绾裤�� 娴佷笂绾跨洿鎺ュ彂閫乻endRtpItem娑堟伅缁欏疄闄呯殑淇′护澶勭悊鑰�
         HookSubscribeForStreamChange hook = HookSubscribeFactory.on_stream_changed(
                 sendRtpItem.getApp(), sendRtpItem.getStream(), true, "rtsp", null);
+        RedisRpcRequest request = buildRequest("waitePushStreamOnline", sendRtpItem);
+        request.setToId(sendRtpItem.getServerId());
         hookSubscribe.addSubscribe(hook, (MediaServerItem mediaServerItemInUse, HookParam hookParam) -> {
 
             // 璇诲彇redis涓殑涓婄骇鐐规挱淇℃伅锛岀敓鎴恠endRtpItm鍙戦�佸嚭鍘�
@@ -105,9 +107,9 @@
                 callback.run(sendRtpItem.getRedisKey());
             }
             hookSubscribe.removeSubscribe(hook);
+            redisRpcConfig.removeCallback(request.getSn());
         });
-        RedisRpcRequest request = buildRequest("waitePushStreamOnline", sendRtpItem);
-        request.setToId(sendRtpItem.getServerId());
+
         redisRpcConfig.request(request, response -> {
             if (response.getBody() == null) {
                 logger.info("[璇锋眰鎵�鏈塛VP鐩戝惉娴佷笂绾縘 娴佷笂绾�,浣嗘槸鏈壘鍒板彂娴佷俊鎭細{}/{}", sendRtpItem.getApp(), sendRtpItem.getStream());
@@ -118,6 +120,7 @@
             if (callback != null) {
                 callback.run(response.getBody().toString());
             }
+            hookSubscribe.removeSubscribe(hook);
         });
 
     }

--
Gitblit v1.8.0