Esempio n. 1
0
 public JT808MessageHandler(
     IOptionsMonitor <JT808Configuration> jT808ConfigurationOptionsMonitor,
     IJT808MsgProducer msgProducer,
     IJT808MsgReplyLoggingProducer msgReplyLoggingProducer,
     IJT808Config jT808Config)
 {
     this.JT808Serializer                  = jT808Config.GetSerializer();
     this.MsgProducer                      = msgProducer;
     this.MsgReplyLoggingProducer          = msgReplyLoggingProducer;
     this.JT808ConfigurationOptionsMonitor = jT808ConfigurationOptionsMonitor;
     HandlerDict = new Dictionary <ushort, MsgIdMethodDelegate> {
         { JT808MsgId.终端通用应答.ToUInt16Value(), Msg0x0001 },
         { JT808MsgId.终端鉴权.ToUInt16Value(), Msg0x0102 },
         { JT808MsgId.终端心跳.ToUInt16Value(), Msg0x0002 },
         { JT808MsgId.终端注销.ToUInt16Value(), Msg0x0003 },
         { JT808MsgId.终端注册.ToUInt16Value(), Msg0x0100 },
         { JT808MsgId.位置信息汇报.ToUInt16Value(), Msg0x0200 },
         { JT808MsgId.定位数据批量上传.ToUInt16Value(), Msg0x0704 },
         { JT808MsgId.数据上行透传.ToUInt16Value(), Msg0x0900 },
         { JT808MsgId.查询服务器时间请求.ToUInt16Value(), Msg0x0004 },
         { JT808MsgId.查询终端参数应答.ToUInt16Value(), Msg0x0104 },
         { JT808MsgId.查询终端属性应答.ToUInt16Value(), Msg0x0107 },
         { JT808MsgId.终端升级结果通知.ToUInt16Value(), Msg0x0108 },
         { JT808MsgId.位置信息查询应答.ToUInt16Value(), Msg0x0201 },
         { JT808MsgId.链路检测.ToUInt16Value(), Msg0x8204 },
         { JT808MsgId.车辆控制应答.ToUInt16Value(), Msg0x0500 },
         { JT808MsgId.摄像头立即拍摄命令.ToUInt16Value(), Msg0x8801 },
         { JT808MsgId.多媒体数据上传.ToUInt16Value(), Msg0x0801 },
         { JT808MsgId.多媒体事件信息上传.ToUInt16Value(), Msg0x0800 },
         { JT808MsgId.CAN总线数据上传.ToUInt16Value(), Msg0x0705 },
     };
 }
Esempio n. 2
0
 /// <summary>
 /// 使用队列方式
 /// </summary>
 /// <param name="configurationMonitor"></param>
 /// <param name="msgProducer"></param>
 /// <param name="msgReplyLoggingProducer"></param>
 /// <param name="messageHandler"></param>
 /// <param name="jT808Config"></param>
 /// <param name="loggerFactory"></param>
 /// <param name="jT808SessionManager"></param>
 public JT808TcpServer(
     IOptionsMonitor <JT808Configuration> configurationMonitor,
     IJT808MsgProducer msgProducer,
     IJT808MsgReplyLoggingProducer msgReplyLoggingProducer,
     JT808MessageHandler messageHandler,
     IJT808Config jT808Config,
     ILoggerFactory loggerFactory,
     JT808SessionManager jT808SessionManager)
 {
     MessageHandler          = messageHandler;
     MsgProducer             = msgProducer;
     MsgReplyLoggingProducer = msgReplyLoggingProducer;
     ConfigurationMonitor    = configurationMonitor;
     SessionManager          = jT808SessionManager;
     Logger     = loggerFactory.CreateLogger <JT808TcpServer>();
     Serializer = jT808Config.GetSerializer();
     InitServer();
 }
 public JT808CustomMessageHandlerImpl(
     ILoggerFactory loggerFactory,
     IJT808MsgReplyProducer msgReplyProducer,
     IJT808MsgLogging jT808MsgLogging,
     IOptionsMonitor <JT808Configuration> jT808ConfigurationOptionsMonitor,
     IJT808MsgProducer msgProducer,
     IJT808MsgReplyLoggingProducer msgReplyLoggingProducer,
     IJT808Config jT808Config) : base(jT808ConfigurationOptionsMonitor,
                                      msgProducer,
                                      msgReplyLoggingProducer,
                                      jT808Config)
 {
     MsgReplyProducer = msgReplyProducer;
     //this.jT808TransmitService = jT808TransmitService;
     this.jT808MsgLogging = jT808MsgLogging;
     logger = loggerFactory.CreateLogger <JT808CustomMessageHandlerImpl>();
     //添加自定义消息
     HandlerDict.Add(0x9999, Msg0x9999);
 }
Esempio n. 4
0
 public JT808UdpServer(
     IOptionsMonitor <JT808Configuration> configurationMonitor,
     IJT808MsgProducer msgProducer,
     IJT808MsgReplyLoggingProducer msgReplyLoggingProducer,
     IJT808Config jT808Config,
     ILoggerFactory loggerFactory,
     JT808SessionManager jT808SessionManager,
     JT808MessageHandler messageHandler)
 {
     SessionManager          = jT808SessionManager;
     MsgProducer             = msgProducer;
     ConfigurationMonitor    = configurationMonitor;
     MsgReplyLoggingProducer = msgReplyLoggingProducer;
     Logger          = loggerFactory.CreateLogger <JT808UdpServer>();
     Serializer      = jT808Config.GetSerializer();
     MessageHandler  = messageHandler;
     LocalIPEndPoint = new System.Net.IPEndPoint(IPAddress.Any, ConfigurationMonitor.CurrentValue.UdpPort);
     server          = new Socket(LocalIPEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
     server.Bind(LocalIPEndPoint);
 }