当前位置: 首页 > news >正文

CAPL使用结构体的方式组装一条DoIP车辆声明消息(方法2)

在文章CAPL使用结构体的方式组装一条DoIP车辆声明消息(方法1)中,我们声明一个结构体DoIPMessage表示完整的DoIP车辆声明消息:

DoIPMessage
上半部分是DoIP报头通用部分(也就是所有类型的DoIP消息都有的),而payload是每个类型的DoIP消息独有的部分,对于车辆声明消息来说,用另一个结构体表示它:

DoIP车辆声明消息
DoIPMessage作为完整的DoIP消息,这意味着VehicleAnnouncement里的字段成员赋值后要转换成byte数组,然后复制到DoIPMessage里的Payload中。然后DoIPMessage里的字段成员赋值后再转换成byte数组,再放入一个UDP报文的Payload中。

这样的组装过程太复杂了。

既然DoIPMessage里的通用部分是每个类型的DoIP消息共有的,那能否把这部分拎出来用一个结构体表示呢?

  _align(1) struct DoIPHeader{byte        version;byte        inVersion;word        type;dword       length;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 请问如何做好软件测试工作呢?
  • Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时
  • Socket编程学习大纲
  • Python面试题:利用Python技术,如何使用SciPy进行科学计算与数值分析
  • 【深度学习】变分自编码器 VAE,什么是变分?(1)
  • C#进阶-轻量级ORM框架Dapper的使用教程与原理详解
  • NineData云原生智能数据管理平台新功能发布|2024年7月版
  • vue2怎么上传文件夹,并展示文件夹内的图片?
  • 7.怎么配置一个axios来拦截前后端请求
  • 计算机网络学习:TCP握手挥手强制连接中断
  • postman查询单条数据Get方法,无任何输出,idea后端也没有任何数据和提示的解决方法
  • Table SQL connectors以及FileSystem、JDBC connector
  • Redis学习[6] ——Redis缓存设计
  • 付费进群系统源码原版最新修复全开源版
  • C#中静态方法与动态方法的区别
  • Codepen 每日精选(2018-3-25)
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • ES6简单总结(搭配简单的讲解和小案例)
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Linux Process Manage
  • Nacos系列:Nacos的Java SDK使用
  • RxJS: 简单入门
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 大主子表关联的性能优化方法
  • 计算机常识 - 收藏集 - 掘金
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 第二十章:异步和文件I/O.(二十三)
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (2)STL算法之元素计数
  • (C语言)逆序输出字符串
  • (分布式缓存)Redis哨兵
  • (南京观海微电子)——示波器使用介绍
  • (转载)OpenStack Hacker养成指南
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .form文件_SSM框架文件上传篇
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET CLR Hosting 简介
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net 使用ajax控件后如何调用前端脚本
  • .net 提取注释生成API文档 帮助文档
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .net分布式压力测试工具(Beetle.DT)
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .Net中ListT 泛型转成DataTable、DataSet
  • ?php echo ?,?php echo Hello world!;?
  • @RequestBody与@RequestParam
  • @拔赤:Web前端开发十日谈
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序