From 2e3a206767d5042880bb6aab0964cfddd2085e39 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 26 八月 2026 13:35:15 +0800
Subject: [PATCH] fix(device): 统一 BTS 帧边界解析

---
 ruoyi-device/src/main/java/com/ruoyi/device/bts/ScriptedBtsTcpSimulator.java |   21 +--------------------
 1 files changed, 1 insertions(+), 20 deletions(-)

diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/bts/ScriptedBtsTcpSimulator.java b/ruoyi-device/src/main/java/com/ruoyi/device/bts/ScriptedBtsTcpSimulator.java
index f4fb784..1ef262c 100644
--- a/ruoyi-device/src/main/java/com/ruoyi/device/bts/ScriptedBtsTcpSimulator.java
+++ b/ruoyi-device/src/main/java/com/ruoyi/device/bts/ScriptedBtsTcpSimulator.java
@@ -1,6 +1,5 @@
 package com.ruoyi.device.bts;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.ServerSocket;
@@ -116,25 +115,7 @@
 
     private String readFrame(InputStream input) throws IOException
     {
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        int matched = 0;
-        while (true)
-        {
-            int value = input.read();
-            if (value < 0) throw new IOException("Client disconnected");
-            if ((byte) value == FRAME_END[matched])
-            {
-                matched++;
-                if (matched == FRAME_END.length) return buffer.toString(StandardCharsets.UTF_8);
-                continue;
-            }
-            if (matched > 0)
-            {
-                buffer.write(FRAME_END, 0, matched);
-                matched = 0;
-            }
-            buffer.write(value);
-        }
+        return new String(BtsFrameReader.read(input, Integer.MAX_VALUE), StandardCharsets.UTF_8);
     }
 
     @Override

--
Gitblit v1.7.1