/// <summary> /// 重写消息处理器 /// </summary> /// <param name="request"></param> /// <param name="session"></param> public override byte[] Processor(JT808HeaderPackage request, IUnionSession session) { //AOP 可以自定义添加一些东西:上下行日志、数据转发 logger.LogDebug("可以自定义添加一些东西:上下行日志、数据转发"); //流量 jT808Traffic.Increment(request.Header.TerminalPhoneNo, DateTime.Now.ToString("yyyyMMdd"), request.OriginalData.Length); var parameter = (request.Header.TerminalPhoneNo, request.OriginalData.ToArray()); //转发数据(可同步也可以使用队列进行异步) try { jT808TransmitService.SendAsync(parameter); } catch (Exception ex) { logger.LogError(ex, ""); } //上行日志(可同步也可以使用队列进行异步) jT808MsgLogging.Processor(parameter, UnionMsgLoggingType.up); //处理上行消息 var down = base.Processor(request, session); //下行日志(可同步也可以使用队列进行异步) jT808MsgLogging.Processor((request.Header.TerminalPhoneNo, down), UnionMsgLoggingType.down); return(down); }
public Task StartAsync(CancellationToken cancellationToken) { jT808MsgConsumer.Subscribe(); jT808MsgConsumer.OnMessage((item) => { //string str = item.Data.ToHexString(); jT808Traffic.Increment(item.TerminalNo, DateTime.Now.ToString("yyyyMMdd"), item.Data.Length); }); return(Task.CompletedTask); }