From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 12 十一月 2020 13:36:01 +0800
Subject: [PATCH] 20201112

---
 HDL_ON/DriverLayer/Control_TcpClient.cs |   53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/HDL_ON/DriverLayer/Control_TcpClient.cs b/HDL_ON/DriverLayer/Control_TcpClient.cs
index d407c9d..f3ad0a0 100644
--- a/HDL_ON/DriverLayer/Control_TcpClient.cs
+++ b/HDL_ON/DriverLayer/Control_TcpClient.cs
@@ -13,8 +13,8 @@
         private TcpClient _tcpClient;
 
         //鍒涘缓涓�涓鎵橈紝鐢ㄦ潵婊¤冻鍏朵粬绫昏皟鐢�
-        public delegate void DelegateMessage(byte[] bytes);
-        public event DelegateMessage OnmessageEvent;
+        //public delegate void DelegateMessage(string str);
+        public Action<string> ReceiveEvent;
 
         /// <summary>
         /// 鏋勯�犲嚱鏁�
@@ -67,15 +67,58 @@
             networkStream.Write(bytes, 0, bytes.Length);
         }
 
+        /// <summary>
+        /// 鑾峰彇鍒楄〃鏁版嵁鍥炶皟鏂规硶
+        /// </summary>
+        public Action<string> GetListResponseAction;
         //鎺ユ敹娑堟伅
         public void ReceiveMessage()
         {
             NetworkStream networkStream = _tcpClient.GetStream();
             while (true)
             {
-                byte[] buffer = new byte[8];
-                int size = networkStream.Read(buffer, 0, buffer.Length);
-                OnmessageEvent?.Invoke(buffer);
+                // 瀹氫箟涓�涓�2M鐨勭紦瀛樺尯锛�
+                byte[] arrMsgRec = new byte[1024 * 1024 * 2];
+                int size = networkStream.Read(arrMsgRec, 0, arrMsgRec.Length);
+                var tcpDataString = System.Text.Encoding.UTF8.GetString(arrMsgRec, 0, arrMsgRec.Length);
+                if (!string.IsNullOrEmpty(tcpDataString))
+                {
+                    ReceiveEvent?.Invoke(tcpDataString);
+                }
+
+                //// 灏嗘帴鍙楀埌鐨勬暟鎹瓨鍏ュ埌杈撳叆  arrMsgRec涓紱
+                //int length = -1;
+                //try
+                //{
+                //    length = socketClient.Receive(arrMsgRec); // 鎺ユ敹鏁版嵁锛屽苟杩斿洖鏁版嵁鐨勯暱搴︼紱
+                //}
+                //catch (Exception ex)
+                //{
+                //    MainPage.Log($"tcpListener  error 1 :  {ex.Message}");
+
+                //    Flag_Receive = false;
+                //    // 浠庨�氫俊绾跨▼闆嗗悎涓垹闄よ涓柇杩炴帴鐨勯�氫俊绾跨▼瀵硅薄锛�
+                //    string keystr = socketClient.RemoteEndPoint.ToString();
+                //    dic_ClientSocket.Remove(keystr);//鍒犻櫎瀹㈡埛绔瓧鍏镐腑璇ocket
+                //    dic_ClientThread[keystr].Abort();//鍏抽棴绾跨▼
+                //    dic_ClientThread.Remove(keystr);//鍒犻櫎瀛楀吀涓绾跨▼
+
+                //    tcpClient = null;
+                //    socketClient = null;
+                //    break;
+                //}
+                //byte[] buf = new byte[length];
+                //Array.Copy(arrMsgRec, buf, length);
+                //lock (tcpClient.m_Buffer)
+                //{
+                //    var tcpDataString = System.Text.Encoding.UTF8.GetString(arrMsgRec, 0, length);
+                //    if (!string.IsNullOrEmpty(tcpDataString))
+                //    {
+                //        ReceiveEvent?.Invoke(tcpDataString);
+                //    }
+
+                //    MainPage.Log($"鎺ユ敹鏈嶅姟绔暟鎹�:{tcpDataString}");
+                //}
             }
         }
 

--
Gitblit v1.8.0