From 62e1a8846c5aa539d424f23bf714652eb99d067c Mon Sep 17 00:00:00 2001 From: zqm Date: Mon, 3 Nov 2025 09:04:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DTCP=E6=B8=A9=E5=BA=A6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E6=94=B6=E9=97=AE=E9=A2=98=EF=BC=9A?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=AD=A3=E7=A1=AE=E7=9A=84=E6=8C=81=E7=BB=AD?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/DeviceManager.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs index 2ba8082..2809bbc 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/DeviceManager.cs @@ -1256,10 +1256,10 @@ namespace JoyD.Windows.CS.Toprie _isReceivingTemperatureData = true; } - // 检查流是否有数据可读 - if (localStream.DataAvailable) + // 持续读取温度数据流 + while (localTcpClient != null && localTcpClient.Connected && !isPaused) { - // 读取数据 + // 使用阻塞读取方式,等待数据到达 int bytesRead = localStream.Read(buffer, 0, buffer.Length); if (bytesRead > 0) { @@ -1305,12 +1305,8 @@ namespace JoyD.Windows.CS.Toprie localTcpClient = null; continue; } - } - else - { - // 短暂休眠避免CPU占用过高 - Thread.Sleep(SHORT_SLEEP_MS); - } + } + // while循环退出后的处理 } catch (Exception ex) {