/// <summary> /// 设备状态通知 /// </summary> public static void NoticeDevState() { try { short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.RspGetServState; cmd2 = ErrCommon.Success; for (int i = 0; i < CommClass.DtServList.Rows.Count; i++) { byte[] ByteResult = null; //List表内容 List <Commonality.CommClass.TTable> ListTtable = new List <Commonality.CommClass.TTable>(); //Table属性内容 Commonality.CommClass.TTable Ttable = new Commonality.CommClass.TTable(); Ttable.FieldName = "ID"; Ttable.FieldValue = CommClass.DtServList.Rows[i]["ID"].ToString(); ListTtable.Add(Ttable); Ttable.FieldName = "TYPE"; Ttable.FieldValue = CommClass.DtServList.Rows[i]["TYPE"].ToString(); ListTtable.Add(Ttable); Ttable.FieldName = "STATE"; Ttable.FieldValue = CommClass.DtServList.Rows[i]["STATE"].ToString(); ListTtable.Add(Ttable); Commonality.CommClass.TableToByteArry(ListTtable, ref ByteResult); foreach (KeyValuePair <string, Kernel.StateObject> a in CommClass.ClientConnList) { Hashtable _hashtable_Package = new Hashtable(); _hashtable_Package.Add("1", a.Value);//...連結位置 _hashtable_Package.Add("2", cmd1); _hashtable_Package.Add("3", cmd2); _hashtable_Package.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_Package); } } } catch (Exception ex) { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "KOIPMonitor>>NoticeDevState>>", ex.Message); } }
/// <summary> /// 消息处理 /// </summary> /// <param name="request"></param> /// <returns></returns> public static void process(StateObject request) { //哈希表存放包体内容 Hashtable _hashtable_Package = new Hashtable(); string ID = ""; //设备编号 string TYPE = ""; //设备类型 try { if (request != null) { #region 包体解析 short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.KOIPOnline; 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(); //cmd2 = -8027; cmd2 = ErrCommon.Success; //List表内容 List <Commonality.CommClass.TTable> ListTtable = new List <Commonality.CommClass.TTable>(); //Table属性内容 Commonality.CommClass.TTable Ttable = new Commonality.CommClass.TTable(); Ttable.FieldName = "ID"; Ttable.FieldValue = ID; ListTtable.Add(Ttable); Ttable.FieldName = "TYPE"; Ttable.FieldValue = TYPE; ListTtable.Add(Ttable); Ttable.FieldName = "COUNT"; Ttable.FieldValue = "1000"; ListTtable.Add(Ttable); Commonality.CommClass.TableToByteArry(ListTtable, ref ByteResult); #endregion 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, "RspGetServList>>process>>", "StateObject request==null"); } } catch (Exception ex) { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "RspGetServList>>process>>", ex.Message); } finally { //删除文件 //if (!string.IsNullOrEmpty(request.receiveFileTemporarily)) // ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), request.receiveFileTemporarily); //GC.Collect(); } }
/// <summary> /// 消息处理 /// </summary> /// <param name="request"></param> /// <returns></returns> public static void process(StateObject request) { //哈希表存放包体内容 Hashtable _hashtable_Package = new Hashtable(); string _ID = ""; string _TYPE = ""; string _STATE = ""; try { if (request != null) { #region 包体解析 short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.RspGetServState; 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, "KOIPMonitor>>RspGetServState>>process>>", "消息体内容有误"); return; } _ID = dt.Rows[0]["ID"].ToString(); _TYPE = dt.Rows[0]["TYPE"].ToString(); for (int i = 0; i < CommClass.DtServList.Rows.Count; i++) { if ((CommClass.DtServList.Rows[i]["ID"].ToString() == _ID) && (CommClass.DtServList.Rows[i]["TYPE"].ToString() == _TYPE)) { _STATE = CommClass.DtServList.Rows[i]["STATE"].ToString(); break; } } //List表内容 List <Commonality.CommClass.TTable> ListTtable = new List <Commonality.CommClass.TTable>(); //Table属性内容 Commonality.CommClass.TTable Ttable = new Commonality.CommClass.TTable(); Ttable.FieldName = "ID"; Ttable.FieldValue = _ID; ListTtable.Add(Ttable); Ttable.FieldName = "TYPE"; Ttable.FieldValue = _TYPE; ListTtable.Add(Ttable); Ttable.FieldName = "STATE"; Ttable.FieldValue = _STATE; ListTtable.Add(Ttable); Commonality.CommClass.TableToByteArry(ListTtable, ref ByteResult); #endregion 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, "KOIPMonitor>>RspGetServState>>process>>", "StateObject request==null"); } } catch (Exception ex) { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "KOIPMonitor>>RspGetServState>>process>>", ex.Message); } finally { //删除文件 //if (!string.IsNullOrEmpty(request.receiveFileTemporarily)) // ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), request.receiveFileTemporarily); //GC.Collect(); } }
/// <summary> /// 消息处理 /// </summary> /// <param name="request"></param> /// <returns></returns> public static void process(StateObject request) { //哈希表存放包体内容 Hashtable _hashtable_Package = new Hashtable(); string UserId = ""; //用户ID string UserPwd = ""; //用户密码 try { if (request != null) { #region 包体解析 short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.RspUserLogin; 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, "KOIPMonitor>>RspUserLogin>>process>>", "消息体内容有误"); return; } UserId = dt.Rows[0]["USERID"].ToString(); UserPwd = dt.Rows[0]["USERPWD"].ToString(); //UserId = Guid.NewGuid().ToString(); int Ret = -1; string Roles = ""; int RetID = 0;; RspUserLogin.LoginVerification(UserId, UserPwd, ref Ret, ref Roles, ref RetID); switch (Ret) { case -1: cmd2 = -8010; break; case -2: cmd2 = -8011; break; case 0: if (CommClass.GetUserIsLogin(UserId) == 0) { cmd2 = ErrCommon.Success; } else { cmd2 = -8032; } CommClass.AddClientConnList(UserId, request); //List表内容 List <Commonality.CommClass.TTable> ListTtable = new List <Commonality.CommClass.TTable>(); //Table属性内容 Commonality.CommClass.TTable Ttable = new Commonality.CommClass.TTable(); Ttable.FieldName = "ROLES"; Ttable.FieldValue = Roles; ListTtable.Add(Ttable); Ttable.FieldName = "ID"; Ttable.FieldValue = RetID.ToString(); ListTtable.Add(Ttable); Commonality.CommClass.TableToByteArry(ListTtable, ref ByteResult); break; } #endregion 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, "KOIPMonitor>>RspUserLogin>>process>>", "StateObject request==null"); } } catch (Exception ex) { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "KOIPMonitor>>RspUserLogin>>process>>", ex.Message); } finally { //删除文件 //if (!string.IsNullOrEmpty(request.receiveFileTemporarily)) // ThreadPool.QueueUserWorkItem(new WaitCallback(DiskIO.Del), request.receiveFileTemporarily); //GC.Collect(); } }
public static void AlarmEvent(ServInfoState sender) { try { Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "sender", "\n" + sender.ToString()); short cmd1 = 0; //主命令字 short cmd2 = 0; //子命令字 cmd1 = OMSCmd.RspGetServState; cmd2 = ErrCommon.Success; byte[] ByteResult = null; //List表内容 List <Commonality.CommClass.TTable> ListTtable = new List <Commonality.CommClass.TTable>(); //Table属性内容 Commonality.CommClass.TTable Ttable = new Commonality.CommClass.TTable(); Ttable.FieldName = "ID"; Ttable.FieldValue = sender.ID; ListTtable.Add(Ttable); Ttable.FieldName = "TYPE"; Ttable.FieldValue = sender.TYPE; ListTtable.Add(Ttable); Ttable.FieldName = "STATE"; Ttable.FieldValue = sender.STATE; ListTtable.Add(Ttable); Commonality.CommClass.TableToByteArry(ListTtable, ref ByteResult); if (CommClass.ISCONUP == "0") { UpdateServState(sender.ID, sender.TYPE, sender.STATE); string strDescr = ""; switch (sender.STATE) { case "1": strDescr = "设备启动"; break; case "2": strDescr = "设备故障"; break; case "3": strDescr = "状态未知"; break; default: strDescr = "状态未知"; break; } int Ret = -1; if (sender.STATE != "1") { CommonFunction.Alarm_Add(sender.ID, sender.TYPE, strDescr, ref Ret); } CommClass.DevObj _DevObj = new CommClass.DevObj(); //_DevObj.DevID = sender.ID; _DevObj.IsLocal = 0; _DevObj.request = null; CommClass.AddDevObjList(sender.ID, _DevObj); foreach (KeyValuePair <string, Kernel.StateObject> a in CommClass.ClientConnList) { Hashtable _hashtable_Package = new Hashtable(); _hashtable_Package.Add("1", a.Value);//...連結位置 _hashtable_Package.Add("2", cmd1); _hashtable_Package.Add("3", cmd2); _hashtable_Package.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.SendDatas), _hashtable_Package); } } else { cmd1 = OMSCmd.UpDevState; cmd2 = ErrCommon.Success; Hashtable _hashtable_Package = new Hashtable(); _hashtable_Package.Add("1", ConnectUpServ.tcpClient);//...連結位置 _hashtable_Package.Add("2", cmd1); _hashtable_Package.Add("3", cmd2); _hashtable_Package.Add("4", ByteResult); ThreadPool.QueueUserWorkItem(new WaitCallback(CommonFunction.UnGzipTcpClientSend), _hashtable_Package); } } catch (Exception ex) { //Commonality.ConsoleManage.Write(Commonality.ErrorLevel.Serious, "BusinessDAL.KNS>>tcpClient_ExceptionHandlingEvent>>ReceiveEvent>>", ex.Message); } finally { } }