Auf dieser Seite

ServerDiscovery QML Type

Liefert Informationen zu verfügbaren Servern. Mehr...

Import Statement: import QtOpcUa
Since: QtOpcUa 5.13
Status: Deprecated since 6.9

Dieser Typ ist seit QtOpcUa 6.9 veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.

Eigenschaften

Signale

Methoden

  • ApplicationDescription at(index)

Ausführliche Beschreibung

Ermöglicht das Abrufen und den Zugriff auf Informationen zu Servern, die einem Server oder einem Erkennungsserver 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);
        }
    }
}

Dokumentation zu den Eigenschaften

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 Servererkennung verwenden, sollten Sie unter status überprüfen, ob die Informationen erfolgreich abgerufen wurden.

Siehe auch status und Status.

discoveryUrl : string

URL des Servers, von dem die Serverliste abgerufen werden soll. Bei jeder Änderung der URL wird eine Anfrage an den angegebenen Server gestartet.

Beim Starten der Anfrage wird die Liste der verfügbaren Server gelöscht und der Status auf „ Status.GoodCompletesAsynchronously “ gesetzt. Sobald die Anfrage abgeschlossen ist, ändert sich der Status auf „ status “. Überprüfen Sie unbedingt den Status unter „ status “, 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. Falls die letzte Abfrage der Server erfolgreich war, sollte der Status „ Status.Good “ lauten.

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

Siehe auch „ Status “.

Signal-Dokumentation

serversChanged()

Wird ausgelöst, wenn eine Abrufanfrage gestartet, abgeschlossen oder fehlgeschlagen ist. In einer aufgerufenen Funktion sollten Sie zunächst die Methode „ status “ des Objekts aufrufen. Ist der Status „ Status.GoodCompletesAsynchronously “, läuft die Anfrage noch. Ist der Status „ Status.Good “, ist die Anfrage abgeschlossen und die Anwendungsbeschreibungen können gelesen werden. Ist der Status nicht „good“, ist ein Fehler aufgetreten und „ status “ enthält den zurückgegebenen Fehlercode.

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

Hinweis: Der entsprechende Handler lautet onServersChanged.

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

Methodendokumentation

ApplicationDescription at(index)

Gibt die Anwendungsbeschreibung unter der angegebenen Adresse 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 überprü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.

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