zoukankan      html  css  js  c++  java
  • 报文分析

    界面演示





        
    核心接口
     
    1. public interface I项目
    2. {
    3. M项目 获取项目();
    4. void 保存当前映射(List<M设备映射> 当前通信);
    5. }
    1. public class M项目
    2. {
    3. [DBKey]
    4. public Int64 Id { get; set; }
    5. public string 名称 { get; set; }
    6. public List<M设备映射> 设备通信模板 { get; set; }
    7. public List<M设备映射> 当前通信设备 { get; set; }
    8. public List<string> 业务类型列表 { get; set; }
    9. public List<string> 设备类型列表 { get; set; }
    10. public Func<M解码前报文, M解码后报文> 解码器 { get; set; }
    11. /// <summary>
    12. /// 参数依次为: 发送方设备类型, 接收方设备类型, 功能码
    13. /// </summary>
    14. public Func<string, string, string, M功能> 功能码查询 { get; set; }
    15. public List<string> 默认内容过滤 { get; set; }
    16. public List<string> 默认业务过滤 { get; set; }
    17. public M项目()
    18. {
    19. this.默认内容过滤 = new List<string>();
    20. this.默认业务过滤 = new List<string>();
    21. }
    22. public override string ToString()
    23. {
    24. return 名称;
    25. }
    26. }
    1. public class M设备映射
    2. {
    3. [DBKey]
    4. public Int64 Id { get; set; }
    5. public bool 启用 { get; set; }
    6. public bool TCP { get; set; }
    7. public IPAddress IP1 { get; set; }
    8. /// <summary>
    9. /// 0表示任意端口
    10. /// </summary>
    11. public int 端口1 { get; set; }
    12. public string 设备类型1 { get; set; }
    13. public IPAddress IP2 { get; set; }
    14. /// <summary>
    15. /// 0表示任意端口
    16. /// </summary>
    17. public int 端口2 { get; set; }
    18. public string 设备类型2 { get; set; }
    19. public string 协议版本号 { get; set; }
    20. }
    1. public class M解码后报文
    2. {
    3. public DateTime 时间 { get; set; }
    4. public string 业务 { get; set; }
    5. public string 发送方 { get; set; }
    6. public string 发送方设备类型 { get; set; }
    7. public string 接收方 { get; set; }
    8. public string 接收方设备类型 { get; set; }
    9. public string 概述 { get; set; }
    10. public List<M信息> 详述 { get; set; }
    11. /// <summary>
    12. /// 传输层
    13. /// </summary>
    14. public byte[] 码流 { get; set; }
    15. public bool TCP { get; set; }
    16. public string 功能码 { get; set; }
    17. }
    1. public class M解码前报文
    2. {
    3. public bool TCP { get; set; }
    4. public string 发送方设备类型 { get; set; }
    5. public IPAddress 发送方IP { get; set; }
    6. public int 发送方端口号 { get; set; }
    7. public string 接收方设备类型 { get; set; }
    8. public IPAddress 接收方IP { get; set; }
    9. public int 接收方端口号 { get; set; }
    10. /// <summary>
    11. /// 传输层
    12. /// </summary>
    13. public byte[] 码流 { get; set; }
    14. public DateTime 时间 { get; set; }
    15. }
    1. public class M信息
    2. {
    3. public string { get; set; }
    4. public string { get; set; }
    5. public string 描述 { get; set; }
    6. public M信息 父节点 { get; set; }
    7. public List<M信息> 子节点 { get; set; }
    8. public M信息()
    9. {
    10. 子节点 = new List<M信息>();
    11. }
    12. public override string ToString()
    13. {
    14. var __详述内容 = new StringBuilder();
    15. __详述内容.AppendFormat("{0} : {1}{2}", 键, 值, Environment.NewLine);
    16. 递归详述(子节点, __详述内容, "--------");
    17. return __详述内容.ToString();
    18. }
    19. public static void 递归详述(List<M信息> 子节点, StringBuilder __详述内容, string __缩进)
    20. {
    21. 子节点.ForEach(q =>
    22. {
    23. __详述内容.AppendFormat("{0}{1} : {2}{3}", __缩进, q.键, q.值, Environment.NewLine);
    24. if (q.子节点 != null && q.子节点.Count > 0)
    25. {
    26. 递归详述(q.子节点, __详述内容, __缩进 + __缩进);
    27. }
    28. });
    29. }
    30. }

       
     




  • 相关阅读:
    RAID卡是否有(启用)缓存对“随机读写”性能有巨大的影响。
    《C++程序设计实践与技巧:测试驱动开发》 环境搭建遇到的坑
    c++ 实现 cout 示例
    c++ 文件
    js 鼠标事件模拟
    eclipse c++ 配置 c++ 17
    c++ 17 vector中string的性能问题 std::vector<std::string> string vs string_view
    c++ 17 模板
    C++17剖析:string在Modern C++中的实现
    编译程序加不加 -lpthread 的区别
  • 原文地址:https://www.cnblogs.com/wangk/p/5730940.html
Copyright © 2011-2022 走看看