本文根据文章《CAPL如何实现SOME/IP协议通信:SomeIP_IL.dll函数篇(超两万字详解)》内容,抽取总结出SOME/IP通信流程,正不正确的另说,目的是为了加深对SOME/IP中间件的理解。
首先,不管是消费方consumer,还是提供方provider,都有自己的someip中间件。本质上,它是一个程序,作为应用层和协议栈的桥梁,把应用层调用的服务接口通过someip消息的形式发送给对端。对端的someip中间件获取这个someip消息后,调用正确应用层的服务接口。
ARXML作为SOA通信的数据库,除了生成服务接口外,还配置多个参数,让someip中间件使用。比如:SD模块的offer service、find service、subscribe eventgroup、subscribe eventgroup ack消息使用的组播地址和端口号,循环时间等。
someip里的SD模块,负责服务发现与订阅机制。
当消费方consumer的应用发起服务请求后(创建服务实例),SD模块进入初始化等待阶段。初始化以后,SD模块开始发送someip sd消息:find service,此时SD模块进入重复阶段。重复发送find service的次数由参数REPETITION_MAX决定,消息时间间隔加倍。文章来源:https://www.toymoban.com/news/detail-457232.html
如果在重复阶段收到provider提供方发送的someip sd消息:offer service,consumer消费方会停止发送find service。重复阶段结文章来源地址https://www.toymoban.com/news/detail-457232.html
到了这里,关于SOME/IP中间件通信流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!