Beispiel 3: Verbindungen zu entfernten Knoten mithilfe einer Registrierung
Einrichten der Quelle
Die Quellen „ simpleswitch.h “ und „ simpleswitch.cpp “ aus dem Beispiel können ohne Änderungen verwendet werden. Der Unterschied liegt in der Art und Weise, wie ein Hostknoten erstellt und mit der Registrierungsdatenbank verbunden wird:
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();
}Einrichten der Replik
Das in diesem Beispiel verwendete Anfordererobjekt ist der in Beispiel 2 beschriebene dynamische Replik-Client.
Die einzige Änderung betrifft „ main.cpp “: Es wird ein Registry -Knoten erstellt, um eine Replik zu beziehen:
QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));Bei gemeinsamer Ausführung mit dem quellseitigen Beispiel entspricht die Ausgabe der in Beispiel 1 gezeigten.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.