示例 3:使用注册表连接远程节点

设置源

simpleswitch.hsimpleswitch.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公司注册商标。所有其他商标均为各自所有者所有。