No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

62 líneas
2.2 KiB

  1. using JT809.Protocol.Enums;
  2. using JT809.Protocol.Extensions;
  3. using JT809.Protocol.Formatters;
  4. using JT809.Protocol.MessagePack;
  5. namespace JT809.Protocol.MessageBody
  6. {
  7. /// <summary>
  8. /// 主链路登录请求消息
  9. /// <para>链路类型:主链路</para>
  10. /// <para>消息方向:下级平台往上级平台</para>
  11. /// <para>业务数据类型标识: UP-CONNECT-REQ</para>
  12. /// <para>描述:下级平台向上级平台发送用户名和密码等登录信息</para>
  13. /// </summary>
  14. public class JT809_0x1001: JT809Bodies,IJT809MessagePackFormatter<JT809_0x1001>
  15. {
  16. /// <summary>
  17. /// 用户名
  18. /// </summary>
  19. public uint UserId { get; set; }
  20. /// <summary>
  21. /// 密码
  22. /// 8位
  23. /// </summary>
  24. public string Password { get; set; }
  25. /// <summary>
  26. /// 下级平台提供对应的从链路服务端 IP 地址
  27. /// 32位
  28. /// </summary>
  29. public string DownLinkIP { get; set; }
  30. /// <summary>
  31. /// 下级平台提供对应的从链路服务器端口号
  32. /// </summary>
  33. public ushort DownLinkPort { get; set; }
  34. public override ushort MsgId => JT809BusinessType.主链路登录请求消息.ToUInt16Value();
  35. public override string Description => "主链路登录请求消息";
  36. public override JT809_LinkType LinkType => JT809_LinkType.main;
  37. public JT809_0x1001 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
  38. {
  39. JT809_0x1001 jT809_0X1001 = new JT809_0x1001();
  40. jT809_0X1001.UserId = reader.ReadUInt32();
  41. jT809_0X1001.Password = reader.ReadString(8);
  42. jT809_0X1001.DownLinkIP = reader.ReadString(32);
  43. jT809_0X1001.DownLinkPort = reader.ReadUInt16();
  44. return jT809_0X1001;
  45. }
  46. public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1001 value, IJT809Config config)
  47. {
  48. writer.WriteUInt32(value.UserId);
  49. writer.WriteStringPadRight(value.Password, 8);
  50. writer.WriteStringPadRight(value.DownLinkIP, 32);
  51. writer.WriteUInt16(value.DownLinkPort);
  52. }
  53. }
  54. }