Exemple 3 : Connexions à des nœuds distants à l'aide d'un registre
Configuration de la source
Les sources simpleswitch.h et simpleswitch.cpp de l'exemple peuvent être utilisées sans modification. La différence réside dans la manière dont un nœud hôte est créé et connecté au registre :
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(); }
Configuration de la réplique
L'objet demandeur utilisé dans cet exemple est le client de réplique dynamique présenté dans l'exemple 2.
La seule modification se trouve à l'adresse main.cpp: un nœud de registre est créé pour acquérir une réplique:
QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));
Lorsqu'il est exécuté en même temps que l'exemple côté source, le résultat est identique à celui de l'exemple 1.
© 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.