Qt远程对象注册表#
描述Qt远程对象注册表如何建立节点之间的连接。.. _registry: 当您使用 acquire()
获取副本时,节点URL不是作为参数传递。这意味着您无需指定主机节点,但它确实要求您有某种其他方式连接到该主机。在没有注册表的情况下,必须从每个节点手动调用 connectToNode()
,到具有 源 对象的每个主机节点应复制的节点。这对于小型或静态网络来说是可行的,但并不能扩展。
注册表提供了一种更简单的方法来建立这些连接。每个希望成为注册表网络一部分的节点都会连接到注册表。注册表本身是一个特殊化的源对象,因此由节点托管。连接到注册表只是将注册表的URL传递给 QRemoteObjectNode
或 QRemoteObjectHost
构造函数,或通过将URL传递给 setRegistryUrl 方法。
注册表与QtRO紧密集成。每当添加或删除源时,其名称/URL会自动在注册表中更新。因此,一旦您的节点连接到注册表,就无需手动连接到任何其他节点。如果您请求网络上的对象,并且您未连接到托管节点,注册表将知道要连接的URL,并且将启动连接。一旦连接(并传递可用的对象列表,包括所需的 源 ),所需的 副本 初始化过程将自动开始。