private void ReceiveDataCallback(SocketErrorData errData, SocketReceiveData recvData) { try { // error if (errData != null) { if (errData.ErrorCode != ClientErrorCode.None) { this.textBoxTCPTips.AppendText($"{errData.ErrorStr}\r\n"); } if (errData.ErrorCode == ClientErrorCode.ConnectErrorType) { // remote host was closed CloseTcpClient(ref this.clientTcp); } return; } ConnectStatus(true); // 解析接收数据 if (recvData.Length > 0) { string data = Encoding.UTF8.GetString(recvData.RecvBuffer, 0, recvData.Length); this.textBoxTCPRecv.AppendText($"RecvData: {data}\r\n"); Assembly m_ass = Assembly.GetExecutingAssembly(); Object o = m_ass.CreateInstance("SoftLiu_VSMainMenuTools.SocketClient.SocketData.ProtocolData.ActionData", false, System.Reflection.BindingFlags.Default, null, new object[] { recvData }, null, null); if (o != null && o is ActionData) { Console.WriteLine("Activator Create Instance success."); ActionData actionData = o as ActionData; actionData.Init(); } else { Console.WriteLine("Activator Create Instance failed."); } } } catch (Exception error) { Console.WriteLine($"ReceiveDataCallback Error::{error.Message}"); } }
public ActionData(SocketReceiveData recvData) { m_receiveData = recvData; }