您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

55 行
1.9 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. using Microsoft.Extensions.Hosting;
  7. using Microsoft.Extensions.Logging;
  8. using System.Text.Json;
  9. using JT808.Protocol.Extensions;
  10. using Microsoft.Extensions.Options;
  11. using JT808.Gateway.Abstractions.Configurations;
  12. using JT808.Gateway.WebApiClientTool;
  13. namespace JT808.Gateway.SimpleClient.Jobs
  14. {
  15. public class CallHttpClientJob :IHostedService
  16. {
  17. private readonly ILogger Logger;
  18. private JT808HttpClient jT808HttpClient;
  19. public CallHttpClientJob(
  20. ILoggerFactory loggerFactory,
  21. JT808HttpClient jT808HttpClient)
  22. {
  23. Logger = loggerFactory.CreateLogger<CallHttpClientJob>();
  24. this.jT808HttpClient = jT808HttpClient;
  25. }
  26. public Task StartAsync(CancellationToken cancellationToken)
  27. {
  28. Task.Run(async() =>
  29. {
  30. while (!cancellationToken.IsCancellationRequested)
  31. {
  32. var result2 = await jT808HttpClient.GetTcpSessionAll();
  33. var result3 = await jT808HttpClient.UnificationSend(new Abstractions.Dtos.JT808UnificationSendRequestDto
  34. {
  35. TerminalPhoneNo= "123456789012",
  36. HexData= "7E02000026123456789012007D02000000010000000200BA7F0E07E4F11C0028003C00001810151010100104000000640202007D01137E"
  37. });
  38. Logger.LogInformation($"[GetTcpAtomicCounter]:{JsonSerializer.Serialize(result2)}");
  39. Logger.LogInformation($"[GetTcpSessionAll]:{JsonSerializer.Serialize(result3)}");
  40. Thread.Sleep(3000);
  41. }
  42. }, cancellationToken);
  43. return Task.CompletedTask;
  44. }
  45. public Task StopAsync(CancellationToken cancellationToken)
  46. {
  47. return Task.CompletedTask;
  48. }
  49. }
  50. }