Partager via


Implémentation d’un appareil WSD multi-homed

WS-Discovery et le profil d’appareils pour les services web (DPWS) ne décrivent pas l’implémentation d’appareils multi-accueil. Cette rubrique décrit la prise en charge des appareils multi-accueil dans WSDAPI et fournit des recommandations d’implémentation aux développeurs clients et d’appareils. Dans cette rubrique, il est supposé que les messages de découverte sont envoyés sur IPv4 et IPv6 (si disponible) avec les mêmes informations de séquencement de messages et d’application.

Découverte dans un environnement multi-accueil

Comme mentionné dans la section Hello et XAddrs des fonctionnalités de WS-Discovery supplémentaires, WSDAPI ne fournit jamais de XAddrs dans un message Hello. Cela signifie que le même message Hello peut être envoyé sur toutes les interfaces réseau avec le même ID de message et les mêmes informations de séquencement d’applications. Cela facilite la détection de collision du client pour ignorer plusieurs messages Hello à partir du même appareil lorsqu’un client et l’appareil partagent plusieurs sous-réseaux.

Étant donné que les XAddrs ne sont pas envoyés dans le message Hello , les implémentations clientes doivent envoyer un message De résolution pour obtenir l’adresse d’appareil appropriée. La résolution doit être envoyée sur toutes les interfaces clientes avec le même ID de message, et l’appareil doit filtrer les messages en double selon les besoins. L’utilisation de la même ID de message pour le message De résolution permet à l’appareil de choisir une interface préférée pour communiquer avec les clients si nécessaire.

Lors de l’envoi d’un message ResolveMatch , un appareil doit fournir des XAddrs qui se rapportent à l’interface réseau sur laquelle il monodiffusion le message. Cette pratique permet d’éviter plusieurs tentatives de connexion client et une logique de nouvelle tentative compliquée.

Échange de métadonnées dans un environnement multi-accueil

L’implémentation d’un échange de métadonnées dans un environnement multi-accueil est plus difficile que l’implémentation de la découverte en raison du contrôle de version des métadonnées. Si un client demande des métadonnées sur plusieurs interfaces, le client peut recevoir plusieurs messages GetResponse sur différentes interfaces. Ces messages GetResponse peuvent contenir différentes sections de métadonnées relation avec la même version de métadonnées. Cela réduit la valeur du numéro de version des métadonnées.

Il existe une autre approche, où un seul message GetResponse est envoyé en réponse avec toutes les adresses du service. L’inconvénient de cette méthode est que les informations privées, telles que la topologie des réseaux indirectement accessibles, peuvent être divulguées.

Sur Windows Vista, les métadonnées fournies par WSDAPI contiennent uniquement des adresses valides pour l’interface sur laquelle la demande de métadonnées a été reçue.