Informations réseau

Une application nécessite souvent un statut ou contexte de réseau spécifique pour s'exécuter, qu'il s'agisse de se connecter à une adresse IP spécifique, de s'assurer que seule une configuration correcte est utilisée ou de s'assurer que le périphérique est en ligne. AppFramework n'est pas capable de contrôler certains de ces aspects au niveau système, mais il fournit des composants pour y accéder afin d'indiquer le comportement de l'application.

Configurations fournies par le système

Les configurations réseau sont gérées et stockées par le périphérique et ne doivent normalement pas être gérées par une application. Toutefois, dans les situations où une application doit connaître le statut de connexion réseau du périphérique, le composant Réseau fournit un accès en lecture seule aux configurations réseau connues du système, ce qui permet aux applications de détecter ces connexions et fonctionnalités système.

Pour de nombreuses applications, tout ce qu'il est requis d'un réseau est qu'il soit en ligne et capable de se connecter aux services. Seule doit être vérifiée la propriété isOnline, une valeur booléenne indiquant si le périphérique est actuellement en ligne ou non. Cette propriété peut être utilisée pour modifier le comportement de l'application afin d'exécuter des fonctions alternatives ne nécessitant pas d'accès réseau ou d'afficher un message d'erreur s'il est nécessaire d'être en ligne.

Column {
    anchors {
        left: parent.left
        right: parent.right
        bottom: parent.bottom
        margins: 20 * AppFramework.displayScaleFactor
    }
    spacing: 5
    Item {
        height: 20
        width: parent.width
    }
    Button {
        anchors.horizontalCenter: parent.horizontalCenter
        text: "Sign In"
        onClicked: {
            if (AppFramework.network.isOnline) {
                messageDialogOnline.open();
            } else {
                messageDialogOffline.open();
            }
        }
    MessageDialog {
        id: messageDialogOnline
        title: "Network Connection"
        text: "This device is currently online."
    }
    MessageDialog {
        id: messageDialogOffline
        title: "Network Error"
        text: "Please connect to a network to get started."
    }
    }
}

Adresses réseau

Le composant NetworkAddress stocke une adresse IP réseau unique. En plus d'être utilisé parallèlement à d'autres composants pour effectuer des actions telles que la connexion à un hôte et la configuration d'un serveur, ce composant fournit également des propriétés pour déterminer si l'adresse a un but spécifique (par exemple, bouclage ou multidiffusion).

Un bouclage est une plage spécifique d'adresses IP visant à envoyer les signaux sortants au même ordinateur, en général à des fins de test. Pour les périphériques IPv4, la plage allant de 127.0.0.0 à 127.255.255.255 agit en tant qu'adresse de bouclage, l'adresse la plus standard utilisée étant l'adresse 127.0.0.1 utilisant le nom localhost. Pour IPv6, l'adresse réservée pour le bouclage est généralement simplifiée comme ::1, l'adresse complète étant très longue. La propriété booléenne NetworkAddress isLoopback retourne « true » si l'adresse stockée par l'objet est une adresse de bouclage.

Les adresses de multidiffusion sont une vaste plage d'adresses réservées pour la communication multidiffusion, où les informations sont adressées à un groupe d'ordinateurs de destination. Dans les applications conçues avec AppFramework, l'utilisation la plus courante de la multidiffusion réside dans le protocole UDP (User Datagram Protocol), un protocole de transmission donnant priorité à la vitesse par rapport à la fiabilité, mais il existe de nombreuses autres utilisations. Pour les périphériques IPv4, la plage d'adresses de multidiffusion s'étend de 224.0.0.0 à 239.255.255.255, tandis que les adresses de multidiffusion IPv6 utilisent le préfixe ff00::/8. Toutefois, ces deux protocoles comportent des sections de ces plages réservées à des utilisations plus spécifiques de la multidiffusion. La propriété booléenne NetworkAddress isMulticast retourne « true » si l'adresse stockée par l'objet consiste en un type d'adresse de multidiffusion.

NetworkAddress contient également la propriété isNull afin d'identifier les adresses nulles non valides pour un hôte ou une interface et la méthode isInSubnet afin de déterminer si l'adresse IP stockée figure dans un sous-réseau donné. Ces fonctions peuvent être utilisées pour garantir que seules les adresses IP correspondant aux besoins de votre application sont transmises.