Sur cette page

EndpointDiscovery QML Type

Fournit des informations sur les points d'extrémité disponibles sur un serveur. 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

Signaux

Méthodes

  • EndpointDescription at(index)

Description détaillée

Permet de récupérer et d'accéder aux informations sur les points d'extrémité 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);
        }
    }
}

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 points d'extrémité dans cet élément. Avant d'utiliser les données issues de la découverte d'un point d'extrémité, il convient de vérifier à l'adresse status si les informations ont été récupérées avec succès.

Voir également status et Status.

serverUrl : string

URL de découverte du serveur à partir duquel les points d'extrémité doivent être récupérés. Chaque fois que l'URL est modifiée, une requête au serveur donné est lancée.

Lors du lancement de la demande, la liste des points d'accès disponibles est effacée et le statut est fixé à Status.GoodCompletesAsynchronously. Une fois la requête terminée, status est modifié.

Veillez à vérifier status avant d'accéder à la liste des points d'accès.

Voir aussi endpointsChanged.

status : Status

Le statut actuel de cet élément. Si la dernière récupération des points d'extrémité a réussi, l'état est Status.Good.

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

Voir également Status.

Documentation sur les signaux

endpointsChanged()

Émise lorsqu'une demande d'extraction a commencé, s'est terminée ou a échoué. Dans une fonction appelée, vous devez d'abord vérifier l'adresse status de l'objet. Si le statut est Status.GoodCompletesAsynchronously, la demande est toujours en cours. Si le statut est Status.Good, la demande est terminée et les descriptions des points d'extrémité peuvent être lues. Si le statut n'est pas bon, 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 de la méthode

EndpointDescription at(index)

Renvoie la description du point de terminaison à l'adresse index. Si aucun point de terminaison n'est 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 ainsi obtenues, il convient de vérifier sur status si l'extraction des informations s'est déroulée correctement.

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

Voir aussi 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.