예제 #1
0
        /// <summary>
        /// 查询GS日志同步库(离线)
        /// </summary>
        public static byte[] QuerySynGSLog(string zoneid, string querysql)
        {
            string url = "";

            try
            {
                url = GetWebServUrlID1(zoneid.ToString());
                if (url.Trim().Length == 0)
                {
                    return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS("WEBSERVICE查询GS日志同步库(离线)错误:获取URL错误")));
                }
                else
                {
                    WebServiceZone.Url         = url;
                    WebServiceZone.Credentials = System.Net.CredentialCache.DefaultCredentials;
                }
                byte[] bytes = WebServiceZone.QuerySynGSLog(querysql);
                return(bytes);
            }
            catch (System.Exception ex)
            {
                //日志记录
                ShareData.Log.Error("WEBSERVICE查询GS日志同步库(离线)错误\r\n" + url + "" + ex.Message, ex);
                return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS("WEBSERVICE查询GS日志同步库(离线)错误" + ex.Message)));
            }
        }
예제 #2
0
 public byte[] QueryLiveGSLog(string querysql)
 {
     if (GetIP4Address() != GSSServerIP)
     {
         string erro = "非法请求,将拒绝对此请求提供服务,请求IP:" + GetIP4Address() + " ";
         Log.Warn(erro);
         return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS(erro)));
     }
     if (ConnStrGsLogDB.Trim() == string.Empty)
     {
         string erro = "非法请求,将拒绝对此实时请求提供服务";
         Log.Warn(erro);
         return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS(erro)));
     }
     if (!CheckQuerySql(querysql))
     {
         string erro = "非法请求,将拒绝对此实时请求提供服务(SQL)";
         Log.Warn(erro);
         return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS(erro)));
     }
     try
     {
         DbHelperMySQLP sp = new DbHelperMySQLP(ConnStrGsLogDB);
         DataSet        ds = sp.Query(querysql);
         return(DataSerialize.GetDataSetSurrogateZipBYtes(ds));
     }
     catch (System.Exception ex)
     {
         string erro = "MYSQL战区日志实时库查询(实时方式)查询操作错误[" + ex.Message + "]";
         Log.Error(erro, ex);
         return(DataSerialize.GetDataSetSurrogateZipBYtes(GetErrorDS(erro)));
     }
 }
예제 #3
0
        private void SendAlert(Session Client)
        {
            Session   client = (Session)_tcpsvr.SessionTable[Client.ID];
            DataSet   ds     = dbhandle.GetAlertNum();
            MsgStruts msg    = new MsgStruts();

            msg.command      = msgCommand.GetAlertNum;
            msg.msgtype      = msgType.SendDataset;
            msg.msgsendstate = msgSendState.single;
            msg.Data         = DataSerialize.GetDataSetSurrogateZipBYtes(ds);

            _tcpsvr.Send(client, msg);
        }
        /// <summary>
        /// 增加工单(发奖)
        /// </summary>
        /// <param name="task"></param>
        public string AddTaskSynGA(GSSModel.Tasks task, DataSet ds)
        {
            task.F_URInfo = DataSerialize.GetStringFromObject(DataSerialize.GetDataSetSurrogateZipBYtes(ds));

            MsgStruts msg = new MsgStruts();

            msg.command      = msgCommand.AddTask;
            msg.msgtype      = msgType.SendText;
            msg.msgsendstate = msgSendState.single;
            msg.MsgParam.p0  = "AddTaskGA";
            msg.Data         = DataSerialize.GetByteFromObject(task);


            MsgStruts msgb    = _tcpcli.SendAndBack(msg);
            string    backStr = _coder.GetEncodingString(msgb.Data, msgb.Data.Length);

            return(backStr);
        }
예제 #5
0
 public void SendAlert()
 {
     try
     {
         lock (_tcpsvr.dic.Values)
         {
             List <object> clients = new List <object>(_tcpsvr.dic.Values);
             foreach (object client in clients)
             {
                 Session Client = (Session)client;
                 if (Client != null && Client.TypeOfExit == Session.ExitType.NoExit)
                 {
                     try
                     {
                         DataSet   ds  = dbhandle.GetAlertNum();
                         MsgStruts msg = new MsgStruts();
                         msg.command      = msgCommand.GetAlertNum;
                         msg.msgtype      = msgType.SendDataset;
                         msg.msgsendstate = msgSendState.single;
                         msg.Data         = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                         _tcpsvr.Send(Client, msg);
                         System.Threading.Thread.Sleep(100);
                     }
                     catch (System.Exception ex)
                     {
                         ex.ToString().ErrorLogger();
                         //日志记录
                         ShareData.Log.Warn(ex);
                         // _tcpsvr.CloseSession(Client);
                     }
                 }
             }
         }
     }
     catch (System.Exception ex)
     {
         ex.ToString().ErrorLogger();
         //日志记录
         ShareData.Log.Error("GSS发送提醒数字错误:", ex);
     }
 }
예제 #6
0
        /// <summary>
        /// 处理接收到的请求
        /// </summary>
        /// <param name="Client"></param>
        /// <param name="recevStr"></param>
        public void DoRequest(Session Client, MsgStruts msg)
        {
            if (Client == null || msg == null || Client.TypeOfExit != Session.ExitType.NoExit)
            {
                ShareData.Log.Info(msg.command + "未返回数据");
                return;
            }

            string  msgStr;
            DataSet ds;
            string  backStr;

            string[]  msgs;
            MsgStruts callBack = new MsgStruts()
            {
                msgsendstate = msgSendState.single, msgtype = msgType.SendText
            };
            ClientData fromClientData;

            try
            {
                string.Format("command->" + msg.command).Logger();
                switch (msg.command)
                {
                case msgCommand.GetLogin:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs   = msgStr.Split('|');
                    if (msgs.Length != 3)
                    {
                        backStr = "false";
                    }
                    else
                    {
                        backStr = dbhandle.Login(msgs[0], msgs[1], msgs[2]);
                    }
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GetCache:
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    ds       = dbhandle.GetCache();
                    msg.Data = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    // ShareData.Log.Warn(msg.Data);
                    _tcpsvr.Send(Client, msg);
                    // _tcpsvr.SendDataContainerBuffer(Client, msg);//cache data  to the client will change to some package
                    System.Threading.Thread.Sleep(800);
                    ((Session)TcpSvr.SessionTable[Client.ID]).UserID = msgStr;

                    SendAlertNum(Client);
                    break;

                case msgCommand.GetAlertNum:
                    System.Threading.Thread.Sleep(800);
                    SendAlertNum();
                    break;

                case msgCommand.GetAllTasks:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgStr.Logger();
                    ds = dbhandle.GetTask(msgStr, msg.MsgParam.p1, msg.MsgParam.p2, Convert.ToInt16(msg.MsgParam.p3), Convert.ToInt16(msg.MsgParam.p4));
                    WebServiceLib.DataSetRowsLog(ds, "Service query cmd:" + msgCommand.GetAllTasks);
                    msg.MsgParam.p6 = dbhandle.GetTaskCount(msgStr).ToString();
                    msg.Data        = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    _tcpsvr.Send(Client, msg);

                    //dbhandle.SysLog(((Session)TcpSvr.SessionTable[Client.ID]).UserID, "工单列表", msgStr);
                    break;

                case msgCommand.GetTaskLog:
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    ds       = dbhandle.GetTaskLog(msgStr);
                    msg.Data = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GetGameUsersC:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    "GetGameUsersC".Logger();
                    msgStr.Logger();
                    ds = WebServiceLib.GetGameUsersC(msgStr);
                    if (ds != null && ds.Tables.Count > 0)
                    {
                        string.Format("Service Query game user number:[{0}]", ds.Tables[0].Rows.Count).Logger();
                    }
                    else
                    {
                        string.Format("Service Query game user number:[{0}]", 0).Logger();
                    }
                    msg.Data = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GetGameRolesC:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    "GetGameRoleC".Logger();
                    msgStr.Logger();
                    ds = WebServiceLib.GetGameRoleC(msgStr);
                    WebServiceLib.DataSetRowsLog(ds, typeof(ServerHandle).Name + "." + msgCommand.GetGameRolesC);
                    if (ds != null)
                    {
                        msg.Data = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    }
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GetGameRolesCR:
                    msgCommand.GetGameRolesCR.ToString().Logger();
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    ("Query where:" + msgStr).Logger();
                    ds = WebServiceLib.GetGameRoleCRALL(msgStr);
                    WebServiceLib.DataSetRowsLog(ds, msgCommand.GetGameRolesCR + " Totla");
                    msg.Data = DataSerialize.GetDataSetSurrogateZipBYtes(ds);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.AddTask:
                    GSSModel.Tasks task = (GSSModel.Tasks)DataSerialize.GetObjectFromByte(msg.Data);
                    int            id   = dbhandle.AddTask(task);
                    if (task.F_Type.ToString() == "2203")
                    {
                        backStr = WebServiceLib.DisChatAdd(task);
                    }
                    else if (task.F_Type.ToString() == "2213")
                    {
                        backStr = WebServiceLib.DisChatDel(task);
                    }
                    msg.Data = _coder.GetEncodingBytes(id.ToString());
                    _tcpsvr.Send(Client, msg);
                    System.Threading.Thread.Sleep(800);
                    SendAlertNum();
                    break;

                case msgCommand.EditTask:
                    task     = (GSSModel.Tasks)DataSerialize.GetObjectFromByte(msg.Data);
                    id       = dbhandle.EditTask(task);
                    msg.Data = _coder.GetEncodingBytes(id.ToString());
                    _tcpsvr.Send(Client, msg);
                    System.Threading.Thread.Sleep(800);
                    SendAlertNum();
                    break;

                case msgCommand.EditTaskNoReturn:
                    task     = (GSSModel.Tasks)DataSerialize.GetObjectFromByte(msg.Data);
                    id       = dbhandle.EditTask(task);
                    msg.Data = _coder.GetEncodingBytes(id.ToString());
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.EditTaskLog:
                    task     = (GSSModel.Tasks)DataSerialize.GetObjectFromByte(msg.Data);
                    id       = dbhandle.EditTaskLog(task);
                    msg.Data = _coder.GetEncodingBytes(id.ToString());
                    _tcpsvr.Send(Client, msg);
                    System.Threading.Thread.Sleep(800);
                    SendAlertNum();
                    break;

                case msgCommand.ExcSql:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    string[] formsql  = msgStr.Split('|');   //分为两段,执行SQL语句的窗口ID和语句
                    int      rowcount = dbhandle.ExeSql(formsql[1]);
                    backStr  = formsql[0] + "|" + rowcount;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.ExcPro:
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    string[]       pformsql = msgStr.Split('|');////格式 窗口ID+存储过程+参数
                    string         proname  = pformsql[1];
                    SqlParameter[] param    = DataSerialize.GetSqlParameterFromString(pformsql[2]);
                    break;

                case msgCommand.GameLockUR:    //格式 窗口ID+封停用户还是角色+工单编号+封停时间
                    msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs   = GetParam(msgStr);
                    string formid = msgs[0];
                    string doStr  = WebServiceLib.URlock(msgs[1], msgs[2], msgs[3]);
                    backStr  = formid + "|" + doStr;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameNoLockUR:    //格式 窗口ID+封停用户还是角色+工单编号
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs     = GetParam(msgStr);
                    formid   = msgs[0];
                    doStr    = WebServiceLib.URNolock(msgs[1], msgs[2]);
                    backStr  = formid + "|" + doStr;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameUserUse:    //格式 窗口ID+工单编号
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs     = GetParam(msgStr);
                    formid   = msgs[0];
                    doStr    = WebServiceLib.GameUserUse(msgs[1], msgs[2]);
                    backStr  = formid + "|" + doStr;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameUserNoUse:    //格式 窗口ID+工单编号
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs     = GetParam(msgStr);
                    formid   = msgs[0];
                    doStr    = WebServiceLib.GameUserNoUse(msgs[1]);
                    backStr  = formid + "|" + doStr;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameResetChildInfo:    //格式 窗口ID+工单编号
                    msgStr   = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                    msgs     = GetParam(msgStr);
                    formid   = msgs[0];
                    doStr    = WebServiceLib.GameResetChildInfo(msgs[1]);
                    backStr  = formid + "|" + doStr;
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameNoticeStart:
                    backStr  = WebServiceLib.GameNoticeStart(msg.MsgParam.p0);
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameNoticeStop:
                    backStr  = WebServiceLib.GameNoticeStop(msg.MsgParam.p0);
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.DeleteFullServiceEmail:
                    backStr  = WebServiceLib.DeleteFullServiceEmail(msg.MsgParam.p0);
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.GameGiftAwardDo:
                    backStr  = WebServiceLib.GameGiftAwardDo(msg.MsgParam.p0);
                    msg.Data = _coder.GetEncodingBytes(backStr);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.QuerySynGSLog:
                    msg.Data = WebServiceLib.QuerySynGSLog(msg.MsgParam.p0, msg.MsgParam.p1);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.QueryLiveGSLog:
                    msg.Data = WebServiceLib.QueryLiveGSLog(msg.MsgParam.p0, msg.MsgParam.p1);
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.DownloadTemplateFile:    //下载模本文件
                    object obj = DataSerialize.GetObjectFromByte(msg.Data);
                    GSSModel.TemplateFile  tem = obj as GSSModel.TemplateFile;
                    System.IO.MemoryStream ms  = new System.IO.MemoryStream();
                    System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();    //二进制序列化类
                    if (tem != null)
                    {
                        msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                        string path = AppDomain.CurrentDomain.BaseDirectory + "\\Resources\\Template\\";
                        string file = path + tem.SystemLang + "\\" + tem.TemplateName;
                        if (!File.Exists(file))
                        {
                            msg.msgsendstate = msgSendState.None;
                            bf.Serialize(ms, string.Format(LanguageResource.Language.Tip_ServiceLackTemplateFormat, tem.TemplateName));    //将消息类转换为内存流
                            msg.Data = ms.ToArray();
                        }
                        else
                        {
                            FileStream  fs     = new FileStream(file, FileMode.Open, FileAccess.Read);
                            byte[]      bb     = new byte[1024];
                            List <byte> stream = new List <byte>();
                            int         len    = fs.Read(bb, 0, bb.Length);
                            stream.AddRange(bb);
                            while (len > 0)
                            {
                                len = fs.Read(bb, 0, bb.Length);
                                stream.AddRange(bb);
                            }
                            msg.Data = stream.ToArray();
                            fs.Close();
                            msg.msgsendstate = msgSendState.single;
                        }
                    }
                    else
                    {
                        msg.msgsendstate = msgSendState.None;
                        bf.Serialize(ms, LanguageResource.Language.Tip_ClientRequestLack);
                    }
                    _tcpsvr.Send(Client, msg);
                    break;

                case msgCommand.AddLoginAward:
                    object data = DataSerialize.GetObjectFromByte(msg.Data);
                    GSSModel.Request.ClientData     client = data as GSSModel.Request.ClientData;
                    GSSModel.Request.LoginAwardTask at     = client.Data as GSSModel.Request.LoginAwardTask;
                    msg.Data    = null;
                    client.Data = null;
                    string message = "";
                    if (at.Task.F_Type.ToString() == "20000215")
                    {
                        message = dbhandle.AddLoginAward(at);
                    }
                    else if (at.Task.F_Type.ToString() == "20000217")
                    {
                        message = dbhandle.AddFullServiceEmail(at);
                    }
                    if (message != true.ToString())
                    {
                        ShareData.Log.Error(message);
                    }
                    else
                    {
                        client.Success = true;
                    }
                    msg.Data         = DataSerialize.GetByteFromObject(client);;
                    msg.msgsendstate = msgSendState.single;
                    _tcpsvr.Send(Client, msg);
                    SendAlertNum(Client);
                    break;

                case msgCommand.AddFullServiceEmail:
                    object objData = DataSerialize.GetObjectFromByte(msg.Data);
                    GSSModel.Request.ClientData     clientData = objData as GSSModel.Request.ClientData;
                    GSSModel.Request.LoginAwardTask atl        = clientData.Data as GSSModel.Request.LoginAwardTask;
                    msg.Data        = null;
                    clientData.Data = null;
                    string strMessage = dbhandle.AddFullServiceEmail(atl);
                    if (strMessage != true.ToString())
                    {
                        ShareData.Log.Error(strMessage);
                    }
                    else
                    {
                        clientData.Success = true;
                    }
                    msg.Data         = DataSerialize.GetByteFromObject(clientData);;
                    msg.msgsendstate = msgSendState.single;
                    _tcpsvr.Send(Client, msg);
                    SendAlertNum(Client);
                    break;

                case msgCommand.GameRoleRecovery:
                    object         d   = DataSerialize.GetObjectFromByte(msg.Data);
                    ClientData     cd  = d as ClientData;
                    object[]       arr = cd.Data as object[];
                    GSSModel.Tasks tsk = arr[0] as GSSModel.Tasks;
                    id = dbhandle.AddTask(tsk);
                    if (id < 1)
                    {    //创建工单失败
                        msg.Data         = _coder.GetEncodingBytes(cd.FormID + "|" + "-1|" + LanguageResource.Language.Tip_CreateWorkOrderFailure);
                        msg.msgsendstate = msgSendState.single;
                        _tcpsvr.Send(Client, msg);
                        return;
                    }
                    RoleData role = arr[1] as RoleData;
                    string   code = WebServiceLib.RecoveryRoleWithRollBack(role);
                    if (code != true.ToString())
                    {
                        System.Resources.ResourceManager rm = LanguageResource.Language.ResourceManager;
                        string info = rm.GetString("Tip_RecoveryRoleStatue_" + code);
                        if (string.IsNullOrEmpty(info))
                        {
                            info = code;
                        }
                        msg.Data         = _coder.GetEncodingBytes(cd.FormID + "|" + id + "|" + info);
                        msg.msgsendstate = msgSendState.single;
                        _tcpsvr.Send(Client, msg);
                        return;
                    }
                    else
                    {
                        msg.Data         = _coder.GetEncodingBytes(cd.FormID + "|" + id + "|" + true.ToString());
                        msg.msgsendstate = msgSendState.single;
                        _tcpsvr.Send(Client, msg);
                    }
                    SendAlertNum(Client);
                    break;

                case msgCommand.SendEmailToRoles:
                    d = DataSerialize.GetObjectFromByte(msg.Data);
                    GSSModel.Request.ClientData clientdata = d as GSSModel.Request.ClientData;
                    GSSModel.SendEmailToRole    email      = clientdata.Data as GSSModel.SendEmailToRole;
                    //通过调用接口进行数据传输
                    clientdata.Message = WebServiceLib.SetRolesEmail(email);
                    clientdata.Data    = null;
                    MsgStruts reback = new MsgStruts()
                    {
                        command = msgCommand.SendEmailToRoles, msgsendstate = msgSendState.single
                    };
                    if (string.IsNullOrEmpty(clientdata.Message))
                    {
                        clientdata.Success = true;
                    }
                    reback.Data = DataSerialize.GetByteFromObject(clientdata);
                    _tcpsvr.Send(Client, reback);
                    SendAlertNum(Client);
                    break;

                case msgCommand.ActiveFallGoods:
                    d = DataSerialize.GetObjectFromByte(msg.Data);
                    GSSModel.Request.ClientData          request = d as GSSModel.Request.ClientData;
                    GSSModel.Request.ActiveFallGoodsData fall    = request.Data as GSSModel.Request.ActiveFallGoodsData;
                    request.Data     = null;
                    request.Message  = WebServiceLib.AddActiveFallConfig(fall);
                    request.Success  = true;
                    callBack.command = msgCommand.ActiveFallGoods;
                    callBack.Data    = DataSerialize.GetByteFromObject(request);
                    _tcpsvr.Send(Client, callBack);
                    SendAlertNum(Client);
                    break;

                case msgCommand.CreateTaskContainerLogic:    //这是对于工单数据流程优化新增的传递方式
                    string.Format(" class:[{0}], command:[{1}]", typeof(ServerHandle).Name, msgCommand.CreateTaskContainerLogic);
                    d              = DataSerialize.GetObjectFromByte(msg.Data);
                    msg.Data       = null;
                    fromClientData = d as GSSModel.Request.ClientData;
                    try
                    {
                        SwitchDo(fromClientData);
                    }
                    catch (Exception ex)
                    {
                        ex.ToString().ErrorLogger();
                        fromClientData.Success = false;
                        fromClientData.Message = ex.Message;
                    }
                    msg.Data = DataSerialize.GetByteFromObject(fromClientData);
                    _tcpsvr.Send(Client, msg);
                    SendAlertNum(Client);
                    break;

                default:
                    break;
                }
            }
            catch (System.Exception ex)
            {
                ex.Message.ErrorLogger();
                msgStr = _coder.GetEncodingString(msg.Data, msg.Data.Length);
                ShareData.Log.Info(msgStr);
                ShareData.Log.Warn(ex);
                msg.Data = _coder.GetEncodingBytes("0");
                _tcpsvr.Send(Client, msg);
            }
        }