SOME/IP-SD消息格式
通用要求
服务发现消息应通过UDP进行支持。准备将服务发现消息传输到TCP中以供将来使用情况。服务发现消息应以SOME/IP头开始,如图1所示:
• 服务发现消息应使用0xFFFF的Service-ID(16位)。
• 服务发现消息应使用0x8100的Method-ID(16位)。
• 服务发现消息应使用SOME/IP指定的uint32长度字段。这意味着长度以字节为单位,并从长度字段后的第一个字节开始,直到SOME/IP-SD消息的最后一个字节结束。
• 服务发现消息应具有Client-ID(16位),并根据SOME/IP规则进行处理。
• 服务发现消息应具有Session-ID(16位),并根据SOME/IP要求进行处理。
-
每发送一条SOME/IP-SD消息,Session-ID(SOME/IP头部)应递增。
• 服务发现消息应具有0x01的Protocol-Version(8位)。
• 服务发现消息应具有0x01的Interface-Version(8位)。
• 服务发现消息应具有0x02(通知)的Message Type(8位)。
• 服务发现消息应具有0x00的Return Code(8位)。
SOME/IP-SD 头格式
在SOME/IP头部之后,应按照图1所示紧随其后的SOME/IP-SD头部。
SOME/IP-SD头部应以一个名为Flags的8位字段开始。
SOME/IP-SD Flags字段的第一个标志(最高位)应称为Reboot标志。
SOME/IP-SD头部的Reboot标志应在重新启动后的所有消息中设置为1,直到SOME/IP头部中的Session-ID环绕并重新从0开始。
SOME/IP-SD Flags字段的第二个标志(次高位)应称为Unicast标志,对于单播设置为1,对于多播设置为0。
SOME/IP-SD头部的Unicast标志应对于请求消息和订阅消息设置为单播(即1)。
在Flags之后,SOME/IP-SD头部应具有一个称为Reserved的24位字段,直到另行通知为止,该字段设置为0。
在SOME/IP-SD头部之后,应跟随Entries数组。
在SOME/IP-SD头部的Entries数组之后,应跟随Option数组。
SOME/IP-SD头部的Entries数组和Options数组应以一个uint32长度字段作为开始&#