void addtopicsoc(RegData wmqd) { if (!WMQTOPICList.ContainsKey(wmqd.to)) { WMQTOPIC wtpic = new WMQTOPIC(); wtpic.topic = wmqd.to; wtpic.ALLsoc.AddLast(wmqd.soc); WMQTOPICList.Add(wmqd.to, wtpic); } else { WMQTOPIC wtpic = WMQTOPICList[wmqd.to]; wtpic.topic = wmqd.to; wtpic.ALLsoc.AddLast(wmqd.soc); //WMQTOPICList.Add(wmqd.to, wtpic); } }
public bool EXEC(byte command, string data, System.Net.Sockets.Socket soc) { try { WMQData wmqd = new WMQData(); switch (command) { case 0: RegData rd = Newtonsoft.Json.JsonConvert.DeserializeObject <RegData>(data); if (rd.type == "topic") { rd.soc = soc; addtopicsoc(rd); } else { WMQueuesoc wq = new WMQueuesoc(); wq.token = rd.to; wq.soc = soc; WMQueuesoclink.AddLast(wq); } break; case 1: wmqd = Newtonsoft.Json.JsonConvert.DeserializeObject <WMQData>(data); wmqd.ctime = DateTime.Now; WMQDatalink.AddLast(wmqd); break; case 2: wmqd = Newtonsoft.Json.JsonConvert.DeserializeObject <WMQData>(data); wmqd.ctime = DateTime.Now; addtopic(wmqd); break; } } catch { return(false); } return(true); }