From 35a33afeeb29466c20ee39dc34e0468d687afce9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 20 十一月 2020 17:47:38 +0800
Subject: [PATCH] 2020-11-20-1
---
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