using JT809.Protocol.Enums; using JT809.Protocol.Extensions; using JT809.Protocol.Formatters; using JT809.Protocol.MessagePack; namespace JT809.Protocol.MessageBody { /// /// 主链路登录请求消息 /// 链路类型:主链路 /// 消息方向:下级平台往上级平台 /// 业务数据类型标识: UP-CONNECT-REQ /// 描述:下级平台向上级平台发送用户名和密码等登录信息 /// public class JT809_0x1001: JT809Bodies,IJT809MessagePackFormatter { /// /// 用户名 /// public uint UserId { get; set; } /// /// 密码 /// 8位 /// public string Password { get; set; } /// /// 下级平台提供对应的从链路服务端 IP 地址 /// 32位 /// public string DownLinkIP { get; set; } /// /// 下级平台提供对应的从链路服务器端口号 /// public ushort DownLinkPort { get; set; } public override ushort MsgId => JT809BusinessType.主链路登录请求消息.ToUInt16Value(); public override string Description => "主链路登录请求消息"; public override JT809_LinkType LinkType => JT809_LinkType.main; public JT809_0x1001 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1001 jT809_0X1001 = new JT809_0x1001(); jT809_0X1001.UserId = reader.ReadUInt32(); jT809_0X1001.Password = reader.ReadString(8); jT809_0X1001.DownLinkIP = reader.ReadString(32); jT809_0X1001.DownLinkPort = reader.ReadUInt16(); return jT809_0X1001; } public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1001 value, IJT809Config config) { writer.WriteUInt32(value.UserId); writer.WriteStringPadRight(value.Password, 8); writer.WriteStringPadRight(value.DownLinkIP, 32); writer.WriteUInt16(value.DownLinkPort); } } }