我可以重复使用 QRemoteObjectNode 吗?
Posted
技术标签:
【中文标题】我可以重复使用 QRemoteObjectNode 吗?【英文标题】:Can I reuse QRemoteObjectNode? 【发布时间】:2019-08-12 14:40:17 【问题描述】:我必须创建一组插件管理器,其中插件管理器是主进程,子进程是使用 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");
的形式循环
【问题讨论】:
【参考方案1】:一个节点可以有多个副本,一个主机节点可以有多个源(如果需要,也可以有多个副本)。节点不能在进程之间共享,但这就是 QtRO 的重点——每个进程都有一个节点,QtRO 使它们之间的通信变得非常简单。
如果您只有几个节点,或者如果有可以遵循的命名约定,则不需要注册表。注册表有用的一个例子是,如果可以从任何 PC 上运行源,那么直到运行时才能知道地址。在这种情况下,源节点将通知注册表它的存在及其地址(其中注册表位于固定/已知地址),这允许客户端节点到达该源。
【讨论】:
以上是关于我可以重复使用 QRemoteObjectNode 吗?的主要内容,如果未能解决你的问题,请参考以下文章