ServerDiscovery QML Type
Liefert Informationen über verfügbare Server. 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
- discoveryUrl : string
- status : Status
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.
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. Falls der letzte Abruf von Servern erfolgreich war, sollte der Status Status.Good lauten.
if (status.isGood) { // Choose endpoint to connect to } else { // handle error }
Siehe auch Status.
Dokumentation der Methode
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 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.
© 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.