From 47f179be722a61c95cc03c8f90e1aa91c12d1124 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期三, 23 十月 2024 18:49:23 +0800 Subject: [PATCH] UI走查,安卓 --- HDL_ON/DAL/DriverLayer/Control_TcpClient.cs | 95 +++++++++++++++++++++++++---------------------- 1 files changed, 51 insertions(+), 44 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs index 251f039..8d71a57 100644 --- a/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs +++ b/HDL_ON/DAL/DriverLayer/Control_TcpClient.cs @@ -152,7 +152,6 @@ { try { - //_tcpClient.ReceiveTimeout = _tcpClient.Connect(IPAddress.Parse(_ip), 8586); ReceiveMessage();//寮�鍚嚎绋嬶紝涓嶅仠鎺ユ敹娑堟伅 isConnected = true; @@ -164,8 +163,6 @@ } } Thread.Sleep(1000); - - } }); connectThread.Start(); @@ -240,6 +237,14 @@ } try { + if (_tcpClient == null) + { + return; + } + if (!_tcpClient.Connected) + { + return; + } if (_tcpClient.GetStream().CanWrite&& isConnected) { _tcpClient.GetStream().Write(bytes, 0, bytes.Length); @@ -320,56 +325,58 @@ { 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(); } else -- Gitblit v1.8.0