ServerDiscovery QML Type
Fournit des informations sur les serveurs disponibles. Plus...
| Import Statement: | import QtOpcUa |
| Since: | QtOpcUa 5.13 |
| Status: | Deprecated since 6.9 |
Ce type est obsolète depuis QtOpcUa 6.9. Il est fortement déconseillé de l'utiliser dans un nouveau code.
Propriétés
- connection : Connection
- count : int
- discoveryUrl : string
- status : Status
Méthodes
- ApplicationDescription at(index)
Description détaillée
Permet de récupérer et d'accéder à des informations sur les serveurs connus d'un serveur ou d'un serveur de découverte.
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); } } }
Propriété Documentation
connection : Connection
La connexion à utiliser pour demander des informations.
Si cette propriété n'est pas définie, la connexion par défaut sera utilisée, le cas échéant.
Voir également Connection et Connection::defaultConnection.
count : int
Nombre actuel de serveurs dans cet élément. Avant d'utiliser les données issues de la découverte de ce serveur, il convient de vérifier à l'adresse status si l'extraction des informations s'est déroulée avec succès.
Voir également status et Status.
discoveryUrl : string
URL du serveur à partir duquel la liste des serveurs doit être récupérée. Chaque fois que l'URL est modifiée, une requête est lancée vers le serveur donné.
Lors du lancement de la requête, la liste des serveurs disponibles est effacée et le statut est défini sur Status.GoodCompletesAsynchronously. Une fois la requête terminée, status est modifié. Veillez à vérifier le site status avant d'accéder à la liste des serveurs.
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
}
}Voir aussi ApplicationDescription, status, at, count, et Status.
status : Status
Le statut actuel de cet élément. Si la dernière recherche de serveurs a été couronnée de succès, l'état devrait être Status.Good.
if (status.isGood) { // Choose endpoint to connect to } else { // handle error }
Voir également Status.
Documentation de la méthode
ApplicationDescription at(index)
Renvoie la description de l'application à l'adresse index. Si aucun serveur n'est disponible ou si l'index est invalide, une description d'application invalide est renvoyée. Avant d'utiliser les données renvoyées, vous devez vérifier status si la récupération des informations s'est déroulée correctement.
if (servers.status.isGood) { if (servers.count > 0) var serverUrl = at(0).serverUrl(); console.log(serverUrl); // Choose endpoint to connect to } else { // handle error }
Voir également count, status, et 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.