From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 06 六月 2023 11:51:12 +0800
Subject: [PATCH] Merge branch 'Dev-Branch'

---
 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