From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/DAL/DriverLayer/Control_TcpClient.cs | 90 ++++++++++++++++++++++++--------------------
1 files changed, 49 insertions(+), 41 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs
index c90eac3..2c53a79 100644
--- a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs
@@ -295,7 +295,10 @@
}
finally
{
- heartBeatThread = null;
+ if (heartBeatThread != null)
+ {
+ heartBeatThread = null;
+ }
HeartBeat();
}
}
@@ -317,54 +320,59 @@
{
receiveThread = new Thread(() =>
{
- while (isConnected)
+ try
{
- if (_tcpClient == null)
+ while (isConnected)
{
- try
+ if (_tcpClient == null)
{
- receiveThread?.Abort();
- }
- catch { }
- finally
- {
- receiveThread = null;
- }
- return;
- }
- if (!_tcpClient.Connected)
- {
- MainPage.Log("tcp瀹㈡埛绔柇寮�浜嗚繛鎺�...");
- isConnected = false;
- return;
- }
- try
- {
- // 瀹氫箟涓�涓�2M鐨勭紦瀛樺尯锛�
- byte[] arrMsgRec = new byte[1024 * 1024 * 2];
- try
- {
- int size = _tcpClient.GetStream().Read(arrMsgRec, 0, arrMsgRec.Length);
- }
- catch (Exception ex)
- {
- isConnected = false;
- MainPage.Log($"灞�鍩熺綉tcp鏁版嵁鎺ユ敹寮傚父:{ex.Message}");
+ try
+ {
+ receiveThread?.Abort();
+ }
+ catch { }
+ finally
+ {
+ receiveThread = null;
+ }
return;
}
- var tcpDataString = System.Text.Encoding.UTF8.GetString(arrMsgRec, 0, arrMsgRec.Length);
-
-
- if (!string.IsNullOrEmpty(tcpDataString))
+ if (!_tcpClient.Connected)
{
- MainPage.Log($"灞�鍩熺綉tcp鏁版嵁鎺ユ敹");
- Control.Ins.ConvertReceiveData(arrMsgRec, null);
-
+ MainPage.Log("tcp瀹㈡埛绔柇寮�浜嗚繛鎺�...");
+ isConnected = false;
+ return;
}
- }
- catch (Exception) { }
- }
+ try
+ {
+ // 瀹氫箟涓�涓�2M鐨勭紦瀛樺尯锛�
+ byte[] arrMsgRec = new byte[1024 * 1024 * 2];
+ try
+ {
+ int size = _tcpClient.GetStream().Read(arrMsgRec, 0, arrMsgRec.Length);
+ }
+ catch (Exception ex)
+ {
+ isConnected = false;
+ MainPage.Log($"灞�鍩熺綉tcp鏁版嵁鎺ユ敹寮傚父:{ex.Message}");
+ return;
+ }
+ var tcpDataString = System.Text.Encoding.UTF8.GetString(arrMsgRec, 0, arrMsgRec.Length);
+
+ if (!string.IsNullOrEmpty(tcpDataString))
+ {
+ MainPage.Log($"灞�鍩熺綉tcp鏁版嵁鎺ユ敹");
+ Control.Ins.ConvertReceiveData(arrMsgRec, null);
+
+ }
+ }
+ catch (Exception) { }
+ }
+ }catch (Exception ex)
+ {
+ MainPage.Log($"tcp ReceiveMessage error :{ex.Message}");
+ }
});
//receiveThread.IsBackground = true;
receiveThread.Start();
--
Gitblit v1.8.0