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

avatar
作者
筋斗云
阅读量:0

在文章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;   

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!