示例 3:使用注册表连接远程节点
设置源
simpleswitch.h
和 simpleswitch.cpp
的源代码,无需修改即可使用,如示例中所示。不同的是,创建主机节点并连接到注册表的方式不同
main.cpp
#include <QCoreApplication> #include "simpleswitch.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); SimpleSwitch srcSwitch; // create SimpleSwitch // Create node that hosts registry: QRemoteObjectRegistryHost regNode(QUrl(QStringLiteral("local:registry"))); // Create node that will host source and connect to registry: QRemoteObjectHost srcNode(QUrl(QStringLiteral("local:replica")), QUrl(QStringLiteral("local:registry"))); // Note, you can add srcSwitch directly to regNode if desired. // We use two Nodes here, as the regNode could easily be in a third process. srcNode.enableRemoting(&srcSwitch); // enable remoting of source object return a.exec(); }
设置副本
本例中使用的请求者对象是示例 2中讨论的动态副本客户端。
唯一的修改在于 main.cpp
:创建了一个注册表节点以获取一个 副本
QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));
当与源端示例一起运行时,输出的结果与示例 1相同。
© 2024 Qt 公司有限公司。本文件中的文档贡献者保留各自的版权。本文件提供的文档受GNU 自由文档许可证版本 1.3的条款许可,由自由软件基金会发布。Qt及其相关标志为芬兰和/或世界其他国家的Qt公司注册商标。所有其他商标均为各自所有者所有。