Qt IVI 间进程通信集成

间进程通信(IPC)允许将 API 分解成多个进程。每个进程独立运行,有时在单独的主机机器上,并通过 IPC 进行通信。IPC 还允许多个客户端或前端访问同一服务。这些前端可以是主信息娱乐系统 UI 或 UI 或移动设备中运行的不同应用程序。

使用 IPC 的优点

IPC 能够在多个进程之间或甚至多个主机机器之间进行功能分配和信息共享。分开的进程可以提高复杂系统的整体可靠性,并使将计算密集型代码与 UI 代码分离开来成为可能。此外,使用 IPC 的后端可以通过多个前端点访问,无论是中心 UI、单独的应用程序,甚至是移动设备或第三方应用程序。

结合 QtIvi自动代码生成 和统一功能加载,开发分布式功能需要的开发工作量更少,并且对 UI 代码的互操作性和透明度更高。

Qt 远程对象

Qt IVI 生成器可以让您生成利用 QtRemoteObjects 模块的中件后卫端。客户端代码以 QtIvi 后端插件和作为 Middleware 服务,无论是服务器存根还是完整模拟服务器。客户端使用 backend_qtro 模板生成;服务器使用 server_qtro 模板。这两个插件和服务器都包含生成的 C++ 代码和一个由 Qt 的 replica 编译器 进一步处理的中间 .rep 文件,以生成实际的源代码和副本类。

生成的插件以与其他 QtIvi 插件相同的方式加载和使用,并且可以与任何其他具有相同 API 的后端实现进行交换。由于所有通过 QtIvi 功能接口的方法调用都是异步的,因此基于 QtRemoteObjects 的后端与其他任何类型的后端的使用类似。

生成的插件可构建和使用,无需进行任何更改。然后,您的任务是在服务器端实现所需的功能。为了帮助您开始服务器,其中包含一个初始化连接的生成类。所有连接插件和服务器到配置文件中的连接参数,要么在默认位置,要么在用户指定的路径。

有关远程后端的逐步介绍,请参阅 使用 Qt IVI 生成器生成基于 QtRemoteObjects 的后端

©2020 The Qt Company Ltd. 其中包含的文档贡献的版权归其各自的所有者所有。本提供的文档根据自由软件基金会(Free Software Foundation)发布的 GNU 自由文档许可版本 1.3 的条款进行授权。Qt 和相应商标是芬兰和/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。