25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

49 satır
2.0 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. using JT808.Gateway.BusinessServices.ReplyMessage;
  7. using JT808.Gateway.Configs.Kafka;
  8. using JT808.Gateway.Kafka;
  9. using JT808.Gateway.PubSub;
  10. using JT808.Protocol;
  11. using JT808.Protocol.Extensions;
  12. using Microsoft.Extensions.Logging;
  13. namespace JT808.Gateway.ReplyMessage.Test
  14. {
  15. public class JT808DotNettyReplyMessageServiceInherited : JT808ReplyMessageService
  16. {
  17. public readonly ILogger<JT808DotNettyReplyMessageServiceInherited> logger;
  18. public JT808DotNettyReplyMessageServiceInherited(IJT808Config jT808Config,
  19. IJT808MsgReplyProducer jT808MsgReplyProducer,
  20. ILoggerFactory loggerFactory)
  21. : base(jT808Config, jT808MsgReplyProducer)
  22. {
  23. logger = loggerFactory.CreateLogger<JT808DotNettyReplyMessageServiceInherited>();
  24. Task.Run(() => {
  25. while (true)
  26. {
  27. Thread.Sleep(5000);
  28. using (IJT808MsgProducer jT808MsgProducer = new JT808MsgProducer(new JT808MsgProducerConfig
  29. {
  30. BootstrapServers = "127.0.0.1:9092",
  31. TopicName = "JT808Msg"
  32. }))
  33. {
  34. jT808MsgProducer.ProduceAsync("011111111111", "7E02000032011111111111012E00000000000C00000160E42506C30C82002C00000000180914142057010400001DC003020000250400000000300115310100977E".ToHexBytes()).Wait();
  35. }
  36. }
  37. });
  38. }
  39. public override void Processor((string TerminalNo, byte[] Data) parameter)
  40. {
  41. logger.LogDebug($"{parameter.TerminalNo}:{parameter.Data.ToHexString()}");
  42. base.Processor(parameter);
  43. }
  44. }
  45. }