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;
 }