1

我必须创建一组插件管理器,其中插件管理器是主进程,子进程是使用 Qt 5.13 和 C++ 的插件。所有进程都在一台 PC 上创建。每个子进程都实现Source(就 Qt 远程对象而言)。

我想为 N 个进程收集 N 个副本。我该如何实施?单个QRemoteObjectNode实例是否足够(或者我必须存储对node-replica)?在这里使用QRemoteObjectRegistry冗余吗?所有应用程序都在一个子文件夹中。每个主机节点都有以下形式的唯一 url:“local:base_name_of_application”。我想在表单中循环node->acquire("local:current_app_name");

4

1 回答 1

0

一个节点可以有多个副本,一个主机节点可以有多个源(如果需要,也可以有多个副本)。节点不能在进程之间共享,但这就是 QtRO 的重点——每个进程都有一个节点,QtRO 使它们之间的通信变得非常简单。

如果您只有几个节点,或者如果有可以遵循的命名约定,则不需要注册表。注册表有用的一个例子是,如果可以从任何 PC 上运行源,那么直到运行时才能知道地址。在这种情况下,源节点将通知注册表它的存在及其地址(其中注册表位于固定/已知地址),这允许客户端节点到达该源。

于 2021-11-14T11:42:24.423 回答