someip, fdepl,CommonAPI C++(fidl)介

SOME/IP与SOME/IP SD规范介绍

SOME/IP 数据的格式:

上图是SOME/IP数据的格式,除了最下面的Payload之外都属于SOME/IP的header。SOME/IP消息由报头header和有效负载Payload组成。

    消息ID:服务ID和事件/方法ID的组合 Length:包含从请求ID到SOME/IP消息结束的长度(以字节为单位) 请求ID:允许提供者和订阅者区分同一方法、事件、getter或setter的多个并行使用 协议版本:包含SOME/IP协议版本的8位字段 接口版本:包含服务接口主要版本的8位字段 消息类型:用于区分消息类型 返回码:用于指示请求是否已成功处理。

Message Type [8 Bit],它有以下几种取值:

    REQUEST (期待响应的请求) REQUEST_NO_RETURN(不期待响应的请求) NOTIFICATION(事件通知) RESPONSE(响应消息) ERROR(报错消息)

Protocol Version

SOME/IP的版本号,目前为1。

Interface Version

用来识别服务接口的主版本号,由用户定义。比如当服务增加了新的功能,或者发生变更,用户可以定义新的版本号,而客户端或服务端可以通过这个版本号来自动判断兼容性。

Message Type

三、SOME/IP服务发现SD

由于以太网数据传输服务需要由Server和Client两个部分共同完成,因此在进行数据传输之前,需要准备一系列的工作来确认Server和Client之间是否已建立网络连接。其次,Client还要询问Server能否提供所需的服务,满足数据传输需求,并对服务的Event进行订阅。这些工作都是通过SOME/IP服务发现(Service Discovery)实现的。

服务发现的报文格式与一般的SOME/IP报文相同,但是其Message ID固定为0xFFFF8100。

3.1 主要功能

经验分享 程序员 微信小程序 职场和发展