EndpointDiscovery QML Type
Liefert Informationen zu den auf einem Server verfügbaren Endpunkten. 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
- connection : Connection
- count : int
- serverUrl : string
- status : Status
Signale
Methoden
- EndpointDescription at(index)
Ausführliche Beschreibung
Ermöglicht das Abrufen und den Zugriff auf Informationen zu verfügbaren Endpunkten auf einem Server.
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 Endpunkte in diesem Element. Bevor Sie Daten aus einer Endpunktermittlung verwenden, sollten Sie unter status überprüfen, ob die Informationen erfolgreich abgerufen wurden.
serverUrl : string
Discovery-URL des Servers, von dem die Endpunkte abgerufen werden sollen. Bei jeder Änderung der URL wird eine Anfrage an den angegebenen Server gestartet.
Beim Starten der Anfrage wird die Liste der verfügbaren Endpunkte gelöscht und der Status auf „ Status.GoodCompletesAsynchronously “ gesetzt. Sobald die Anfrage abgeschlossen ist, ändert sich der Status zu „ status “.
Überprüfen Sie unbedingt status, bevor Sie auf die Liste der Endpunkte zugreifen.
Siehe auch endpointsChanged.
status : Status
Der aktuelle Status dieses Elements. War der letzte Abruf der Endpunkte erfolgreich, lautet der Status „ Status.Good “.
if (endpoints.status.isGood) {
// do something
} else {
// handle error
}Siehe auch „ Status “.
Signal-Dokumentation
endpointsChanged()
Wird ausgelöst, wenn eine Abrufanfrage gestartet, abgeschlossen oder fehlgeschlagen ist. In einer aufgerufenen Funktion sollten Sie zunächst den Status status des Objekts überprüfen. Lautet der Status „ Status.GoodCompletesAsynchronously “, läuft die Anfrage noch. Lautet der Status „ Status.Good “, ist die Anfrage abgeschlossen und die Endpunktbeschreibungen können gelesen werden. Ist der Status nicht „good“, ist ein Fehler aufgetreten und status enthält den zurückgegebenen Fehlercode.
onEndpointsChanged: {
if (endpoints.status.isGood) {
if (endpoints.status.status == QtOpcua.Status.GoodCompletesAsynchronusly)
return; // wait until finished
if (endpoints.count > 0) {
var endpointUrl = endpoints.at(0).endpointUrl();
console.log(endpointUrl);
}
} else {
// handle error
}
}Hinweis: Der entsprechende Handler lautet „ onEndpointsChanged “.
Siehe auch status, count, at, Status und EndpointDescription.
Methodendokumentation
EndpointDescription at(index)
Gibt die Endpunktbeschreibung unter der angegebenen Adresse index zurück. Falls keine Endpunkte verfügbar sind oder der Index ungültig ist, wird eine ungültige Endpunktbeschreibung zurückgegeben. Bevor Sie Daten daraus verwenden, sollten Sie unter status überprüfen, ob der Abruf der Informationen erfolgreich war.
if (endpoints.status.isGood) {
if (endpoints.count > 0)
var endpointUrl = endpoints.at(0).endpointUrl();
console.log(endpointUrl);
} else {
// handle error
}Siehe auch count, status und EndpointDescription.
© 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.