Sur cette page

EndpointDiscovery QML Type

Fournit des informations sur les points de terminaison disponibles sur un serveur. En savoir plus...

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

Ce type est obsolète depuis QtOpcUa 6.9. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Propriétés

Signaux

Méthodes

  • EndpointDescription at(index)

Description détaillée

Permet de récupérer et d'accéder aux informations relatives aux points de terminaison disponibles sur un serveur.

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);
        }
    }
}

Documentation des propriétés

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 points de terminaison dans cet élément. Avant d'utiliser des données issues d'une découverte de points de terminaison, vous devez vérifier sur status si les informations ont bien été récupérées.

Voir également status et Status.

serverUrl : string

URL de découverte du serveur à partir duquel récupérer les points de terminaison. Chaque fois que l'URL est modifiée, une requête vers le serveur indiqué est lancée.

Au lancement de la requête, la liste des points de terminaison disponibles est effacée et le statut est défini sur « Status.GoodCompletesAsynchronously ». Une fois la requête terminée, le statut passe à « status ».

Veillez à vérifier status avant d’accéder à la liste des points de terminaison.

Voir également endpointsChanged.

status : Status

État actuel de cet élément. Si la dernière récupération des points de terminaison s'est déroulée avec succès, l'état est « Status.Good ».

if (endpoints.status.isGood) {
    // do something
} else {
    // handle error
}

Voir également Status.

Documentation sur les signaux

endpointsChanged()

Émis lorsqu'une requête de récupération a démarré, s'est terminée ou a échoué. Dans une fonction appelée, vous devez d'abord vérifier la propriété ` status ` de l'objet. Si le statut est ` Status.GoodCompletesAsynchronously`, la requête est toujours en cours d'exécution. Si le statut est ` Status.Good`, la requête est terminée et les descriptions des points de terminaison peuvent être lues. Si le statut n'est pas correct, une erreur s'est produite et ` status ` contient le code d'erreur renvoyé.

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
        }
}

Remarque : le gestionnaire correspondant est onEndpointsChanged.

Voir également status, count, at, Status et EndpointDescription.

Documentation sur les méthodes

EndpointDescription at(index)

Renvoie la description du point de terminaison à l'adresse index. S'il n'y a aucun point de terminaison disponible ou si l'index n'est pas valide, une description de point de terminaison non valide est renvoyée. Avant d'utiliser les données issues de cette requête, vous devez vérifier sur status si la récupération des informations a abouti.

if (endpoints.status.isGood) {
    if (endpoints.count > 0)
        var endpointUrl = endpoints.at(0).endpointUrl();
        console.log(endpointUrl);
} else {
    // handle error
}

Voir également count, status et 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.