private CarLocation getClFromVp(VehiclePointResponse vp) { CarLocation cl = new CarLocation(); try { Decimal i; int j; DateTime dt; cl.CASEID = vp.caseid; if (int.TryParse(vp.cc, out j)) cl.CCCC = int.Parse(vp.cc); if (DateTime.TryParse(vp.sj, out dt)) cl.SJ = DateTime.Parse(vp.sj); cl.CLID = vp.id; cl.FX= vp.fx; cl.JD = vp.jd; cl.LSH = vp.lsh; if (Decimal.TryParse(vp.sd, out i)) cl.SD = Decimal.Parse(vp.sd); cl.WD = vp.wd; } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } return cl; }
//处理车辆节点消息 private void DealVehiclePointResponse(object obj) { try { VehiclePointResponse vp = (VehiclePointResponse)obj; CarLocation cl = getClFromVp(vp); CoreService.GetInstance().OtherMsgServer.SendCarLocation(cl); } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } }
/// <summary> /// RecvMessage事件,并存入消息处理队列_revBSSMsg /// </summary> /// <param name="sender"></param> /// <param name="e"></param> #region private void tsh_RecvMessage(object sender, NetEventArgs e) { //<LoginMsg> // <RoutID>3201</RoutID> // <TLX>PDEP</TLX> // <TName>江苏省交换服务器</TName> //</LoginMsg> try { int msgno = e.msgEntity.msgH.msgID; string body = Encoding.Default.GetString(e.msgEntity.msgB); dtLastRecieveMsgTime = DateTime.Now; LogHelper.WriteSevNetMsgLog(body); switch (msgno) { case 1000: //Handshake Handshake hk = new Handshake(); hk = (Handshake)JSON.JsonToObject(body,hk); if (hk != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.Handshake, hk, body)); break; case 1002: //LoginReponse LoginResponse lr = new LoginResponse(); lr = (LoginResponse)JSON.JsonToObject(body,lr); if (lr != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.LoginResponse, lr, body)); break; case 1004: //LoginoffReponse LogoffResponse lfr = new LogoffResponse(); lfr = (LogoffResponse)JSON.JsonToObject(body,lfr); if (lfr != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.LogoffResponse, lfr, body)); break; case 7001: //DispatchCarNotice DispatchCarNotice pc = new DispatchCarNotice(); pc=(DispatchCarNotice)JSON.JsonToObject(body,pc); if (pc != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.DispatchCarNotice, pc, body)); break; case 7002: //VehicleStatusResponse VehicleStatusResponse vs = new VehicleStatusResponse(); vs = (VehicleStatusResponse)JSON.JsonToObject(body, vs); if (vs != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.VehicleStatusResponse, vs, body)); break; case 7004: //VehiclePointResponse VehiclePointResponse vp = new VehiclePointResponse(); vp = (VehiclePointResponse)JSON.JsonToObject(body, vp); if (vp != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.VehiclePointResponse, vp, body)); break; default: break; } } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } }