百度云盘做网站空间/网络推广引流最快方法
在文章CAPL使用结构体的方式组装一条DoIP车辆声明消息(方法1)中,我们声明一个结构体DoIPMessage表示完整的DoIP车辆声明消息:

 上半部分是DoIP报头通用部分(也就是所有类型的DoIP消息都有的),而payload是每个类型的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;