From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/DAL/DriverLayer/Control_TcpClient.cs | 104 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 63 insertions(+), 41 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs index c90eac3..84e305b 100644 --- a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs +++ b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs @@ -130,6 +130,7 @@ /// </summary> public void Connect() { + return; lock (lockObj) { if (isConnected) @@ -224,6 +225,10 @@ /// <param name="bytes">闇�瑕佸彂閫佺殑瀛楄妭</param> public void SendMessage(byte[] bytes) { + return; +#if __IOS__ + +#endif if (heartBeatLogIdList.Count > 3) { try @@ -240,6 +245,14 @@ } try { + if (_tcpClient == null) + { + return; + } + if (!_tcpClient.Connected) + { + return; + } if (_tcpClient.GetStream().CanWrite&& isConnected) { _tcpClient.GetStream().Write(bytes, 0, bytes.Length); @@ -258,6 +271,7 @@ private DateTime heartBeatTime; public void HeartBeat() { + return; lock (lockObj) { if (heartBeatThread == null) @@ -295,7 +309,10 @@ } finally { - heartBeatThread = null; + if (heartBeatThread != null) + { + heartBeatThread = null; + } HeartBeat(); } } @@ -317,54 +334,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