Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

69 Zeilen
2.0 KiB

  1. using JT808.DotNetty.Client;
  2. using JT808.Protocol.MessageBody;
  3. using Microsoft.Extensions.Hosting;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. namespace JT808.DotNetty.SimpleClient.Services
  10. {
  11. public class UpService : IHostedService
  12. {
  13. private readonly IJT808TcpClientFactory jT808TcpClientFactory;
  14. public UpService(IJT808TcpClientFactory jT808TcpClientFactory)
  15. {
  16. this.jT808TcpClientFactory = jT808TcpClientFactory;
  17. }
  18. public Task StartAsync(CancellationToken cancellationToken)
  19. {
  20. JT808TcpClient client1 = jT808TcpClientFactory.Create(new DeviceConfig("12345678910", "127.0.0.1", 12808));
  21. //1.终端注册
  22. client1.Send(new JT808_0x0100()
  23. {
  24. PlateNo = "粤A12345",
  25. PlateColor = 2,
  26. AreaID = 0,
  27. CityOrCountyId = 0,
  28. MakerId = "Koike001",
  29. TerminalId = "Koike001",
  30. TerminalModel = "Koike001"
  31. });
  32. //2.终端鉴权
  33. client1.Send(new JT808_0x0102()
  34. {
  35. Code = "1234"
  36. });
  37. Task.Run(() => {
  38. while (true)
  39. {
  40. var i = 0;
  41. //3.每30秒发一次
  42. client1.Send(new JT808_0x0200()
  43. {
  44. Lat = 110000 + i,
  45. Lng = 100000 + i,
  46. GPSTime = DateTime.Now,
  47. Speed = 50,
  48. Direction = 30,
  49. AlarmFlag = 5,
  50. Altitude = 50,
  51. StatusFlag = 10
  52. });
  53. i++;
  54. Thread.Sleep(30000);
  55. }
  56. });
  57. return Task.CompletedTask;
  58. }
  59. public Task StopAsync(CancellationToken cancellationToken)
  60. {
  61. return Task.CompletedTask;
  62. }
  63. }
  64. }