当前位置: 首页 > article >正文

AUTOSAR_EXP_ARAComAPI的7章笔记(4)

☞返回总目录

相关总结:本地 / 网络多绑定用例总结

7.3.2 本地/网络多绑定用例

在前一节中,我们看到了的一种多绑定特殊变体,现在来看,也可认为是一种真实情况的变体。

假设有一个与上一章节相似的情景,唯一的区别是服务实例2位于与AP产品相同以太网的不同ECU上,而服务消费者(及其用于实例1实例2 的代理)驻留在AP产品ECU 上。由于以太网对于AP的标准协议是SOME/IP,所以期望两个 ECU之间的通信基于SOME/IP。对于我们的具体例子,这意味着代理实例1 通过Unix域套接字服务实例1 通信(如果AP供应商做好了IPC实现,针对进程本地通信优化为直接方法调用),而代理实例2通过符合SOME/IP 的消息格式的网络套接字服务实例2通信。

对于以上所述SOME/IP部署,因为AP软件组件SWCs)不会直接打开到远程节点网络套接字连接,所以,可能会被人指摘不正确:我们将在这里(第 7.3.3 小节)更详细地介绍这一点,但目前假设这是一个现实场景。(对于其他网络协议,这确实可能是现实的)。

因此,AP产品ECU上的注册表(服务发现)守护进程已经看到了服务实例2服务提供,这个服务提供包含了基于IP网络端点寻址信息。对于服务实例2服务提供,没有任何变化:仍然与一些 Unix域套接字名称相关联,本质上是一个文件名。在这个例子中,从 ProxyClass::FindService返回的服务实例1服务实例2的两个句柄在内部看起来非常不同:服务实例1句柄包含它是一个 Unix域套接字和一个名称的信息,而句柄2包含它是一个网络套接字以及一个IP地址端口号的信息。所以,与第一个例子(子章节 7.3.1)相比,这确实算得上是一个完全成熟的多绑定,我们的代理类构造函数句柄1句柄2 实例化两个完全不同的传输机制!在调用构造函数期间,如何做出使用哪种传输机制的动态决策,在技术上如何解决,这再次取决于中间件实现者:生成的代理类实现可能已经包含任何支持的机制,并且句柄中包含的信息仅用于在不同的行为之间切换,或者所需的传输功能(也称为绑定)可以在运行时在通过共享库机制从给定的句柄检测到特定需求后加载。


http://www.kler.cn/a/396153.html

相关文章:

  • windows@多系统引导名字修改@默认引导系统修改@bcdedit配置
  • Android ART知多少?
  • SpringBoot - Async异步处理
  • HarmonyOS Next 组件或页面之间的所有通信(传参)方法总结
  • 群控系统服务端开发模式-应用开发-前端登录接口开发
  • Python学习26天
  • 单片机智能家居火灾环境安全检测
  • 蓝桥杯每日真题 - 第14天
  • ubuntu20.04默认的python3.8升级到python3.10
  • 内网、公网(外网)划分
  • 从AI新手到高手:学习提示词,让智能助手更懂你
  • stm32F4 低功耗模式实例解析
  • Ubuntu 的 ROS 2 操作系统 turtlebot3 gazebo仿真
  • 【计算机毕设】无查重 基于python豆瓣电影评论舆情数据可视化系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
  • 天润融通活动预告丨走进上汽集团,探秘数智标杆
  • 时钟之CSS+JS版
  • 09C++结构体
  • C++各类函数评点+详解
  • MySQL数据库最大连接数查询及修改
  • R语言贝叶斯分析:INLA 、MCMC混合模型、生存分析肿瘤临床试验、间歇泉喷发时间数据应用|附数据代码...
  • Python实现PSO粒子群优化算法优化CNN-Transformer回归模型(优化权重和阈值)项目实战
  • 开源的说话人分离项目 | 可以对指定的音频分离不同的说话人 | 通话录音中分离不同的说话人
  • 开发中SQL积累
  • 量子奇异值阈值算法
  • vue3: ref, reactive, readonly, shallowReactive
  • Django Form