移除DeviceManager.cs中不必要的温度数据传输开始命令,优化TCP连接后的数据接收逻辑
This commit is contained in:
@@ -3,4 +3,11 @@
|
|||||||
2. 最大化时,填充满父容器。
|
2. 最大化时,填充满父容器。
|
||||||
3. 还原时,恢复到最大化前的位置和大小。
|
3. 还原时,恢复到最大化前的位置和大小。
|
||||||
4. 关闭时,从父容器中移除。
|
4. 关闭时,从父容器中移除。
|
||||||
5. 拖拽时,不允许超出父容器边界。
|
5. 拖拽时,允许在父容器内移动,不允许超出父容器边界。
|
||||||
|
|
||||||
|
### Panel
|
||||||
|
1. 初始添加时,默认宽300px,高250px。位置相对父容器水平居中,垂直居中。
|
||||||
|
2. 最大化时,填充满父容器。
|
||||||
|
3. 还原时,恢复到最大化前的位置和大小。
|
||||||
|
4. 关闭时,从父容器中移除。
|
||||||
|
5. 拖拽时,允许在父容器内移动,不允许超出父容器边界。
|
||||||
@@ -1224,12 +1224,8 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
|
|
||||||
// 温度数据接收状态更新代码已移除,因为未被使用
|
// 温度数据接收状态更新代码已移除,因为未被使用
|
||||||
|
|
||||||
// 发送开始温度数据传输的命令 - 修改为热像仪可能接受的格式
|
// 根据SDK文档,建立TCP连接后不需要发送任何开始命令
|
||||||
// 根据常见热像仪协议,尝试使用简单的命令格式
|
Log("TCP连接已建立,等待接收温度数据...");
|
||||||
byte[] startCommand = Encoding.ASCII.GetBytes("start\r\n");
|
|
||||||
localStream.Write(startCommand, 0, startCommand.Length);
|
|
||||||
localStream.Flush();
|
|
||||||
Log("已发送开始温度数据传输命令: 'start\r\n'");
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -1337,47 +1333,11 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
// 跳出内层循环,回到外层循环重新建立连接
|
// 跳出内层循环,回到外层循环重新建立连接
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// 如果连接有效但数据传输可能已停止,尝试重新发送开始命令
|
// 根据SDK文档,建立TCP连接后不需要发送任何开始命令
|
||||||
// 这是为了解决暂停后恢复时DataAvailable始终为false的问题
|
// 从暂停状态恢复时,只需继续监听数据流即可
|
||||||
try
|
if (lastPaused && !isPaused)
|
||||||
{
|
{
|
||||||
// 发送开始温度数据传输的命令
|
Log("从暂停状态恢复,继续接收温度数据");
|
||||||
byte[] startCommand = Encoding.ASCII.GetBytes("start_temp_transfer\r\n");
|
|
||||||
localStream.Write(startCommand, 0, startCommand.Length);
|
|
||||||
localStream.Flush();
|
|
||||||
|
|
||||||
// 只有在从暂停状态恢复时(状态从true变为false的瞬间)才记录日志
|
|
||||||
lock (_lockObject)
|
|
||||||
{
|
|
||||||
if (lastPaused && !_isTemperatureReceivingPaused)
|
|
||||||
{
|
|
||||||
Log("从暂停状态恢复,重新发送开始温度数据传输命令");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Log($"重新发送开始命令失败: {ex.Message}");
|
|
||||||
// 发送失败,可能连接已断开,需要重建连接
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (localStream != null)
|
|
||||||
{
|
|
||||||
localStream.Close();
|
|
||||||
localStream = null;
|
|
||||||
}
|
|
||||||
if (localTcpClient != null)
|
|
||||||
{
|
|
||||||
localTcpClient.Close();
|
|
||||||
localTcpClient = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception closeEx)
|
|
||||||
{
|
|
||||||
Log($"关闭失败连接时发生异常: {closeEx.Message}");
|
|
||||||
}
|
|
||||||
// 跳出内层循环,回到外层循环重新建立连接
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user