例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
:Replicaを取得するためにレジストリノードが作成されることです:
QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));
ソース側の例と一緒に実行すると、出力は例1と同じになります。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。