using System; namespace StandardScene.Charge { /// /// 通讯报文数据模型 /// public class CommunicationMessage { /// /// 报文ID(自动生成) /// public string MessageId { get; set; } /// /// 时间戳 /// public DateTime Timestamp { get; set; } /// /// 方向(发送/接收) /// public MessageDirection Direction { get; set; } /// /// IP地址 /// public string IpAddress { get; set; } /// /// 端口号 /// public int Port { get; set; } /// /// 原始报文数据(十六进制字符串) /// public string RawData { get; set; } /// /// 报文长度(字节) /// public int Length { get; set; } /// /// 协议类型 /// public string Type { get; set; } /// /// 关联的充电桩ID(可选) /// public string StationId { get; set; } public CommunicationMessage() { MessageId = GenerateMessageId(); Timestamp = DateTime.Now; } private static string GenerateMessageId() { return $"MSG{DateTime.Now:yyyyMMddHHmmssfff}{new Random().Next(100, 999)}"; } public override string ToString() { return $"[{Timestamp:HH:mm:ss.fff}] {Direction} {IpAddress}:{Port} - {Length}字节"; } } //解析后的数据 /// /// 报文方向枚举 /// public enum MessageDirection { /// /// 发送 /// Send = 0, /// /// 接收 /// Receive = 1 } }