Sur cette page

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

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.