void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { var list = Gateway.GetMO(); if (list == null || list.Count == 0) { return; } if (DeliverEvent != null) { foreach (var mo in list) { DeliverEventArgs de = new DeliverEventArgs(mo); DeliverEvent(this, de); string tr = JsonConvert.SerializeObject(de); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO ->", tr); } } MessageHelper.Instance.WirteTest("上行短信:" + JsonConvert.SerializeObject(list)); } catch (Exception ex) { MessageHelper.Instance.WirteError("获取上行短信发生错误", ex); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO Error ->", ex.Message); } }
private void HttpServer_DeliverEvent(object sender, DeliverEventArgs e) { if (DeliverEvent != null) { DeliverEvent(this, e); } }
public void MORecieved(List <MOSMS> list) { try { if (list == null || list.Count == 0) { return; } if (DeliverEvent != null) { foreach (var mo in list) { DeliverEventArgs de = new DeliverEventArgs(mo); DeliverEvent(this, de); string tr = JsonConvert.SerializeObject(de); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO ->", tr); } } MessageHelper.Instance.WirteTest("上行短信:" + JsonConvert.SerializeObject(list)); } catch (Exception ex) { MessageHelper.Instance.WirteError("获取上行短信发生错误", ex); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO Error ->", ex.Message); } }
static void Gateway_DeliverEvent(object sender, DeliverEventArgs e) { try { //写库 MOSend.Instance.Send(JsonConvert.SerializeObject(e.MO)); } catch (Exception ex) { LogHelper.LogError("Gateway", "GatewayHost.Gateway_DeliverEvent", ex.ToString()); } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { string msgid = ""; string msg = ""; string mobile = ""; DateTime datetime = DateTime.Now; string post = string.Format("act=smsrecord&unitid={0}&username={1}&passwd={2}&rowid=0", _config.UserId, _config.Account, _config.Password); string t = HTTPRequest.PostWebRequest(moUrl, post, Encoding.UTF8); if (t == "0") { return; } //格式: 序号 |^| 上行号码 |^| 内容 |^| 时间 |^| sp端口号 两条记录之间用 |;| 分隔 //32221 | 15800000000 |^| 这是回复测试 |^| 2000 - 07 - 16 15:10:27 |^| 1065788 |;| 32222 |^| 15800000000 |^| 这是回复测试2 |^| 2000 - 07 - 16 15:10:27 |^| 1065788 string[] mos = t.Split(split, StringSplitOptions.RemoveEmptyEntries); if (mos.Length == 0) { return; } foreach (string mo in mos) { string[] moc = t.Split(splitContent, StringSplitOptions.RemoveEmptyEntries); mobile = moc[1]; msg = moc[2]; msgid = moc[0]; if (!DateTime.TryParse(moc[3], out datetime)) { datetime = DateTime.Now; } if (DeliverEvent != null) { DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), datetime, msg, mobile, SrcID, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("JCSY", "MO ->", tr); } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("JCSY", "MO Error ->", ex.Message); } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { var list = Gateway.GetMO(); if (DeliverEvent != null) { foreach (var mo in list) { DeliverEventArgs de = new DeliverEventArgs(mo); DeliverEvent(this, de); string tr = JsonConvert.SerializeObject(de); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO ->", tr); } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo(Gateway.Config.GatewayName, "MO Error ->", ex.Message); } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { string t = client.GetMo(account, password); //t = "15854881986|,|A 回复内容|,|2015-1-18 3:02:01|;|"; //t = "15854881986|,|A 回复内容|,|2015-1-18 3:02:01|,|106575010199|;|"; t = t.Replace("|,|", ((char)3).ToString()); t = t.Replace("|;|", ((char)2).ToString()); string[] rs = t.Split((char)2); foreach (string r in rs) { if (r != "") { string[] result = r.Split((char)3); if (DeliverEvent != null) { DateTime d; if (!DateTime.TryParse(result[2], out d)) { d = DateTime.Now; } DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), d, result[1], result[0], SrcID, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("TPYX", "MO ->", tr); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("TPYX", "MO Error ->", ex.Message); } }
public override void handleGETRequest(HttpProcessor p) { p.writeSuccess(); string[] ts = p.http_url.Split('?'); string url = ts[0]; if (url == "/MO") { //http://pushMoUrl?receiver=admin&pswd=12345&moTime=1208212205&mobile=13800210021&destcode=1065751600001&msg=hello&destcode=10657109012345 ts = ts[1].Split('&'); string receiver = ""; string pswd = ""; DateTime moTime = DateTime.Now; string mobile = ""; string destcode = ""; string msg = ""; string emshead; string isems; string[] t; string time; foreach (string s in ts) { t = s.Split('='); switch (t[0]) { case "receiver": receiver = t[1]; break; case "pswd": pswd = t[1]; break; case "moTime": //格式YYMMDDhhmm,其中YY=年份的最后两位(00-99),MM=月份(01-12),DD=日(01-31),hh=小时(00-23),mm=分钟(00-59) time = DateTime.Now.Year + "-" + t[1].Substring(2, 2) + "-" + t[1].Substring(4, 2) + " " + t[1].Substring(6, 2) + ":" + t[1].Substring(8, 2); if (!DateTime.TryParse(time, out moTime)) { moTime = DateTime.Now; } break; case "mobile": mobile = t[1]; break; case "destcode": // destcode = t[1]; break; case "msg": msg = System.Web.HttpUtility.UrlDecode(t[1]); break; case "isems": isems = t[1]; break; case "emshead": emshead = t[1]; break; } } try { DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), moTime, msg, mobile, destcode, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("JCWG", "MO ->", tr); } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("JCWG", "MO Error ->", ex.Message); } } if (url == "/Report") { //"http://pushUrl?receiver=admin&pswd=12345&msgid=12345&reportTime=1012241002&mobile=13900210021&status=DELIVRD" ts = ts[1].Split('&'); string receiver = ""; string pswd = ""; string msgid = ""; DateTime reportTime = DateTime.Now; string mobile = ""; string status = ""; string[] t; string time; foreach (string s in ts) { t = s.Split('='); switch (t[0]) { case "receiver": receiver = t[1]; break; case "pswd": pswd = t[1]; break; case "reportTime": //格式YYMMDDhhmm,其中YY=年份的最后两位(00-99),MM=月份(01-12),DD=日(01-31),hh=小时(00-23),mm=分钟(00-59) time = DateTime.Now.Year + "-" + t[1].Substring(2, 2) + "-" + t[1].Substring(4, 2) + " " + t[1].Substring(6, 2) + ":" + t[1].Substring(8, 2); if (!DateTime.TryParse(time, out reportTime)) { reportTime = DateTime.Now; } break; case "mobile": mobile = t[1]; break; case "status": status = t[1]; break; case "msgid": msgid = t[1]; break; } } try { bool ok = false; ushort statecode; string statetext = "短消息转发成功"; switch (status) { case "DELIVRD": statetext = "短消息转发成功"; statecode = 2100; ok = true; break; case "EXPIRED": statetext = "短消息超过有效期"; statecode = 2101; break; case "UNDELIV": statetext = "短消息是不可达的"; statecode = 2102; break; case "UNKNOWN": statetext = "未知短消息状态"; statecode = 2103; break; case "REJECTD": statetext = "短消息被短信中心拒绝"; statecode = 2104; break; case "DTBLACK": statetext = "目的号码是黑名单号码"; statecode = 2105; break; case "ERR: 104": statetext = "系统忙"; statecode = 2106; break; case "REJECT": statetext = "审核驳回"; statecode = 2107; break; default: statetext = "网关内部状态"; statecode = 2108; break; } if (!ok) { statetext = "发送失败。"; } ReportEventArgs re = new ReportEventArgs(msgid, ok, statecode, statetext, reportTime); ReportEvent(this, re); string tr = JsonSerialize.Instance.Serialize <ReportEventArgs>(re); Console.WriteLine("返回状态报告:" + tr); LogClient.LogHelper.LogInfo("JCWG", "GetReport Process ->", tr); } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("JCWG", "GetReport Error ->", ex.Message); } } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { // <? xml version = "1.0" encoding = "utf-8" ?> //< returnsms > //< call > //< mid > 121212121212 </ mid > --------------系统里面对应的唯一的mid //< mobile > 15023239810 </ mobile > -------------手机号码 //< content > 好 </ content > -------------上行内容 //< taskid > 1212 </ taskid > --------------某次提交任务的ID //< updatetime > 2011 - 12 - 02 22:12:11 </ updatetime > -------------更新时间 // </ call > // < call > // < mid > 121212121212 </ mid > --------------系统里面对应的唯一的mid // < mobile > 15023239810 </ mobile > -------------手机号码 // < content > 好 </ content > -------------上行内容 // < taskid > 1212 </ taskid > --------------某次提交任务的ID // < updatetime > 2011 - 12 - 02 22:12:11 </ updatetime > -------------更新时间 // </ call > // </ returnsms > try { string msgid = ""; string msg = ""; string mobile = ""; DateTime datetime = DateTime.Now; string post = string.Format("action=query&userid={0}&account={1}&password={2}", userId, account, password); string t = HTTPRequest.PostWebRequest(moUrl, post, System.Text.Encoding.UTF8); XmlDocument doc = new XmlDocument(); doc.LoadXml(t); XmlElement root = null; root = doc.DocumentElement; XmlNodeList listNodes = root.ChildNodes; foreach (XmlNode node in listNodes) { foreach (XmlNode cNode in node.ChildNodes) { switch (cNode.Name) { case "mid": break; case "mobile": mobile = cNode.InnerText; break; case "content": msg = cNode.InnerText; break; case "taskid": msgid = cNode.InnerText; break; case "updatetime": if (!DateTime.TryParse(cNode.InnerText, out datetime)) { datetime = DateTime.Now; } break; } } if (DeliverEvent != null) { DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), datetime, msg, mobile, SrcID, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("DWWG", "MO ->", tr); } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("DWWG", "MO Error ->", ex.Message); } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { string msgid = ""; string msg = ""; string mobile = ""; string extno = ""; DateTime datetime = DateTime.Now; string post = string.Format("action=query&userid={0}&account={1}&password={2}", userId, account, password); string t = HTTPRequest.PostWebRequest(moUrl, post, System.Text.Encoding.UTF8); XmlDocument doc = new XmlDocument(); doc.LoadXml(t); XmlElement root = null; root = doc.DocumentElement; XmlNodeList listNodes = root.ChildNodes; foreach (XmlNode node in listNodes) { foreach (XmlNode cNode in node.ChildNodes) { switch (cNode.Name) { case "mobile": mobile = cNode.InnerText; break; case "content": msg = cNode.InnerText; break; case "taskid": msgid = cNode.InnerText; break; case "extno": extno = cNode.InnerText; break; case "receivetime": if (!DateTime.TryParse(cNode.InnerText, out datetime)) { datetime = DateTime.Now; } break; } } if (DeliverEvent != null) { DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), datetime, msg, mobile, extno, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("ZSXWG", "MO ->", tr); } } } catch (Exception ex) { MessageHelper.Instance.WirteError(ex.ToString()); LogClient.LogHelper.LogInfo("ZSXWG", "MO Error ->", ex.Message); } }
void tmrMO_Elapsed(object sender, ElapsedEventArgs e) { try { string msg = ""; string mobile = ""; DateTime datetime = DateTime.Now; string md5p = MD5Helper.GetMD5(password); string post = string.Format("Account={0}&Password={1}", account, md5p); string t = HTTPRequest.PostWebRequest(moUrl, post, System.Text.Encoding.UTF8); Console.WriteLine("原始MO查询消息: " + t); XmlDocument doc = new XmlDocument(); doc.LoadXml(t); XmlElement root = null; root = doc.DocumentElement; XmlNodeList listNodes = root.ChildNodes; foreach (XmlNode node in listNodes) { if (node.Name == "response") { int c = int.Parse(node.InnerText); if (c == 0) { return; } if (c < 0) { Console.WriteLine(GetErrorMsg(c)); return; } } else { foreach (XmlNode cNode in node.ChildNodes) { switch (cNode.Name) { case "phone": mobile = cNode.InnerText; break; case "content": msg = HttpUtility.UrlDecode(cNode.InnerText); break; case "sendTime": if (!DateTime.TryParse(cNode.InnerText, out datetime)) { datetime = DateTime.Now; } break; } } if (DeliverEvent != null) { DeliverEventArgs re = new DeliverEventArgs(Guid.NewGuid().ToString(), datetime, msg, mobile, SrcID, ""); DeliverEvent(this, re); string tr = JsonSerialize.Instance.Serialize <DeliverEventArgs>(re); LogClient.LogHelper.LogInfo("WFLTQY", "MO ->", tr); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogClient.LogHelper.LogInfo("WFLTQY", "MO Error ->", ex.Message); } }