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