ServerDiscovery QML Type

Liefert Informationen über verfügbare Server. Mehr...

Import Statement: import QtOpcUa
Since: QtOpcUa 5.13

Eigenschaften

Methoden

  • ApplicationDescription at(index)

Ausführliche Beschreibung

Ermöglicht das Abrufen von und den Zugriff auf Informationen über Server, die einem Server oder Discovery Server bekannt sind.

QtOpcUa.Connection {
    id: connection
    backend: availableBackends[0]
    defaultConnection: true
}

QtOpcUa.ServerDiscovery {
    discoveryUrl: "opc.tcp://127.0.0.1:43344"
    onServersChanged: {
        if (status.isGood) {
            if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly)
                return; // wait until finished
            if (count > 0) {
                // choose right server
                endpointDiscovery.serverUrl = at(0).discoveryUrls[0];
                console.log("Using server URL:", endpointDiscovery.serverUrl);
            } else {
                // no servers retrieved
            }
        } else {
            // Fetching servers failed
            console.log("Error fetching server:", servers.status.status);
        }
    }
}

QtOpcUa.EndpointDiscovery {
    id: endpointDiscovery
    onEndpointsChanged: {
        if (status.isGood) {
            if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly)
                return; // wait until finished
            if (count > 0) {
                // choose right endpoint
                console.log("Using endpoint", at(0).endpointUrl, at(0).securityPolicy);
                connection.connectToEndpoint(at(0));
            } else {
                // no endpoints retrieved
            }
        } else {
            // Fetching endpoints failed
            console.log("Error fetching endpoints:", status.status);
        }
    }
}

Eigenschaft Dokumentation

connection : Connection

Die Verbindung, die für die Abfrage von Informationen verwendet werden soll.

Wenn diese Eigenschaft nicht festgelegt ist, wird die Standardverbindung verwendet, sofern vorhanden.

Siehe auch Connection und Connection::defaultConnection.


count : int

Aktuelle Anzahl der Server in diesem Element. Bevor Sie Daten aus dieser Serverermittlung verwenden, sollten Sie unter status prüfen, ob der Abruf der Informationen erfolgreich war.

Siehe auch status und Status.


discoveryUrl : string

URL des Servers, von dem die Liste der Server abgerufen werden soll. Jedes Mal, wenn die URL geändert wird, wird eine Anfrage an den angegebenen Server gestartet.

Beim Starten der Anfrage wird die Liste der verfügbaren Server geleert und der Status auf Status.GoodCompletesAsynchronously gesetzt. Sobald die Abfrage beendet ist, ändert sich status. Stellen Sie sicher, dass Sie die status überprüfen, bevor Sie auf die Liste der Server zugreifen.

onServersChanged: {
        if (status.isGood) {
            if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly)
                return; // wait until finished
            if (count > 0) {
                var serverUrl = at(0).serverUrl();
                console.log(serverUrl);
            }
        } else {
            // handle error
        }
}

Siehe auch ApplicationDescription, status, at, count, und Status.


status : Status

Der aktuelle Status dieses Elements. Wenn der letzte Abruf von Servern erfolgreich war, sollte der Status Status.Good sein.

if (status.isGood) {
    // Choose endpoint to connect to
} else {
    // handle error
}

Siehe auch Status.


Methode Dokumentation

Gibt die Anwendungsbeschreibung unter der angegebenen index zurück. Falls keine Server verfügbar sind oder der Index ungültig ist, wird eine ungültige Anwendungsbeschreibung zurückgegeben. Bevor Sie die zurückgegebenen Daten verwenden, sollten Sie unter status prüfen, ob der Abruf der Informationen erfolgreich war.

if (servers.status.isGood) {
    if (servers.count > 0)
        var serverUrl = at(0).serverUrl();
        console.log(serverUrl);
        // Choose endpoint to connect to
} else {
    // handle error
}

Siehe auch count, status, und ApplicationDescription.


© 2025 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.