public static void ReceiveEvent(TCPClientStateObject sender) { try { if (sender == null) { return; } /////KMS端指令以1000起始 switch (sender.cmd1) { ///处理KIS连到到KMS将IPS存储在KMS case 11: //KoIpServerLibrary.KMS_S._1000.Procedure(KmsState); break; default: break; } } catch (Exception ex) { //Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "BusinessDAL.KNS>>tcpClient_ExceptionHandlingEvent>>ReceiveEvent>>", ex.Message); } finally { if (!string.IsNullOrEmpty(sender.receiveFileTemporarily)) { ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), sender.receiveFileTemporarily); } } }
public static void ReceiveEvent(TCPClientStateObject request) { try { if (request == null) { return; } //Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Response, // "TCPCLIENT RECEIVE", "CMD1=" + request.cmd1.ToString() + " " // + "CMD2=" + request.cmd2.ToString() + " from " + // request.wanIP.ToString() + ":" + request.wanPort.ToString()); switch (request.cmd1) { case OMSCmd.ReqServOpt: //启动服务请求 ReqServOpt.process(request); //启动服务回应 break; //case OMSCmd.ReqGetServState://获取服务器状态请求 // RspGetServState.process(request);//获取服务器状态回应 //break; default: break; } } catch (Exception ex) { //Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "BusinessDAL.KNS>>tcpClient_ReceiveEvent>>ReceiveEvent>>", ex.Message); } finally { //if (!string.IsNullOrEmpty(request.receiveFileTemporarily)) // ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), request.receiveFileTemporarily); } }
/// <summary> /// 消息处理 /// </summary> /// <param name="request"></param> /// <returns></returns> public static void process(TCPClientStateObject request) { //哈希表存放包体内容 Hashtable _hashtable_Package = new Hashtable(); string _ID = ""; string _TYPE = ""; string _OPTTYPE = ""; try { if (request != null) { #region 包体解析 short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.RspServOpt; cmd2 = ErrCommon.Success; byte[] ByteResult = null; DataTable dt = new DataTable(); Commonality.CommClass.ReadXML(request.receiveFileTemporarily, ref dt); if (dt.Rows.Count <= 0) { cmd2 = -101;//解包失败 //哈希表存放包体内容 Hashtable _hashtable_Package_Temp = new Hashtable(); _hashtable_Package_Temp.Add("1", request);//...連結位置 _hashtable_Package_Temp.Add("2", cmd1); _hashtable_Package_Temp.Add("3", cmd2); ByteResult = null; _hashtable_Package_Temp.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_Package_Temp); Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "BusinessDAL.KNS.server>>SuperaddSingSongList>>process>>", "消息体内容有误"); return; } _ID = dt.Rows[0]["ID"].ToString(); _TYPE = dt.Rows[0]["TYPE"].ToString(); _OPTTYPE = dt.Rows[0]["OPTTYPE"].ToString(); CommClass.DevObj _DevObj = new CommClass.DevObj(); CommClass.GetDevMagObj(_ID, ref _DevObj); if (_DevObj.IsLocal == 0) { switch (_OPTTYPE) { case "1": ServMonitor.MonitorInterface.ServStop(_ID, _TYPE); break; case "2": ServMonitor.MonitorInterface.ServStart(_ID, _TYPE); break; case "3": ServMonitor.MonitorInterface.ServRestart(_ID, _TYPE); break; default: break; } } else { if ((_DevObj.request == null) || (_DevObj.IsLocal == -1)) { cmd2 = -8033; cmd1 = OMSCmd.RspServOpt; //哈希表存放包体内容 Hashtable _hashtable_Package_Temp = new Hashtable(); _hashtable_Package_Temp.Add("1", request);//...連結位置 _hashtable_Package_Temp.Add("2", cmd1); _hashtable_Package_Temp.Add("3", cmd2); _hashtable_Package_Temp.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_Package_Temp); return; } else { cmd1 = OMSCmd.ReqServOpt; //哈希表存放包体内容 Hashtable _hashtable_Package_Temp = new Hashtable(); _hashtable_Package_Temp.Add("1", _DevObj.request);//...連結位置 _hashtable_Package_Temp.Add("2", cmd1); _hashtable_Package_Temp.Add("3", cmd2); _hashtable_Package_Temp.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_Package_Temp); } } //for (int i = 0; i < dt.Rows.Count; i++) //{ // if ((dt.Rows[i]["ID"] == _ID) && (dt.Rows[i]["TYPE"] == _TYPE)) // { // _STATE = dt.Rows[i]["STATE"].ToString(); // break; // } //} #endregion //short cmd1 = 0;//主命令字 //short cmd2 = 0;//子命令字 //cmd1 = OMSCmd.RspServOpt; //cmd2 = ErrCommon.Success; //byte[] ByteResult = null; //Hashtable _hashtable_PackageArry = new Hashtable(); //_hashtable_PackageArry.Add("1", request);//...連結位置 //_hashtable_PackageArry.Add("2", cmd1); //_hashtable_PackageArry.Add("3", cmd2); //_hashtable_PackageArry.Add("4", ByteResult); //ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_PackageArry); } else { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "RspGetServState>>process>>", "StateObject request==null"); } } catch (Exception ex) { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "RspGetServState>>process>>", ex.Message); } finally { //删除文件 //if (!string.IsNullOrEmpty(request.receiveFileTemporarily)) // ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), request.receiveFileTemporarily); //GC.Collect(); } }