SomeIp(三)之RPC协议

还是那句老话:书非借而不能读也!本文件继续参考其他文章。

【Multiple Service-Instances多个服务实例】
同一服务的多个服务实例通过不同的Instance ID来识别。应支持多个服务实例驻留在不同的ECU上,以及一个或多个服务的多个服务实例驻留在一个ECU上。
虽然不同的服务应能够共享所使用的传输层协议的相同端口号,但是在一个ECU上的同一服务的多个服务实例应在每个服务实例的不同端口上进行侦听。
虽然 Instance ID用于服务发现,但它们不包含在SOME / IP header中。
可以通过 Service ID与套接字的组合(即IP地址,传输协议(UDP / TCP)和端口号)来识别服务实例。建议实例对UDP和TCP使用相同的端口号。如果服务实例使用UDP端口x,则只有该服务实例而不是同一服务的另一个实例应该使用TCP端口x作为其服务。

【Request/Response Communication】
SomeIp常用的通信模式之一是请求/响应模式。 客户端发送请求消息,服务器端应答。
【对于客户端】
1、构建Payload,
2、设置客户端所要调用Method的Message ID,
3、设置长度域,
4、根据需要把Request ID设置为一个独立的ID号,
5、设置Protocol Version和Interface Version,
6、设置Message Type t为Request,
7、设置Return Code为0x00,

【对于服务器端】
	基于客户端的基础上构建头部,并构建相应的Payload.
1、设置新长度为: 8字节 + 新Payload大小
2、设置Message Type为Response或者Error
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值