Partage via


Programmes de résolution d'homologue

Pour se connecter à un maillage, un nœud homologue requiert les adresses IP d’autres nœuds. Les adresses IP sont obtenues en contactant un service de résolution, qui prend l’ID de maillage et retourne une liste d’adresses correspondant aux nœuds inscrits avec cet ID de maillage particulier. Le programme de résolution conserve une liste des adresses inscrites, qu'il crée en inscrivant chaque nœud de la maille avec le service.

Vous pouvez spécifier le service PeerResolver à utiliser via la Resolver propriété du NetPeerTcpBinding.

Programmes de résolution de pair pris en charge

Le canal homologue prend en charge deux types de programmes de résolution : le protocole PNRP (Peer Name Resolution Protocol) et les services de résolution personnalisés.

Par défaut, le Peer Channel utilise le service de résolution de pairs PNRP pour la découverte de pairs et de voisins dans le maillage. Pour les situations/plateformes où PNRP n’est pas disponible ou réalisable, Windows Communication Foundation (WCF) fournit un autre service de découverte basé sur le serveur - le CustomPeerResolverService. Vous pouvez également définir explicitement un service de programme de résolution personnalisé en écrivant une classe qui implémente l’interface IPeerResolverContract .

Protocole PNRP (Peer Name Resolution Protocol)

PNRP, le résolveur par défaut de Windows Vista, est un service de résolution de noms distribué et sans serveur. PNRP peut également être utilisé sur Windows XP SP2 en installant advanced networking Pack. Tous les deux clients exécutant la même version de PNRP peuvent se localiser mutuellement à l’aide de ce protocole, à condition qu’ils répondent à certaines conditions (par exemple, l’absence d’un pare-feu d’entreprise intermédiaire). Notez que la version de PNRP fournie avec Windows Vista est plus récente que la version incluse dans le pack de mise en réseau avancé. Consultez le Centre de téléchargement Microsoft pour connaître les mises à jour de PNRP pour Windows XP SP2.

Services de résolution personnalisés

Lorsque le service PNRP n’est pas disponible ou que vous souhaitez contrôler complètement la mise en forme du maillage, vous pouvez utiliser un service de programme de résolution basé sur un serveur personnalisé. Vous pouvez définir explicitement ce service en écrivant une classe de programme de résolution implémentant l’interface IPeerResolverContract ou en utilisant l’implémentation par défaut intégrée. CustomPeerResolverService

Sous l’implémentation par défaut du service, les inscriptions clientes expirent après un certain temps si le client n’actualise pas explicitement l’inscription. Les clients qui utilisent le service de résolution doivent connaître la limite supérieure de la latence du serveur client afin d’actualiser correctement les inscriptions dans le temps. Cela implique de choisir un délai d’actualisation approprié (RefreshInterval) sur le service de résolution. (Pour plus d’informations, consultez Inside the CustomPeerResolverService : Client Registrations.)

Le rédacteur d'applications doit également envisager la sécurisation de la connexion entre les clients et le service de résolveur personnalisé. Pour ce faire, vous pouvez utiliser les paramètres de sécurité sur le NetTcpBinding que les clients utilisent pour contacter le service de résolution. Vous devez spécifier des informations d'identification (le cas échéant) sur la ChannelFactory qui permet de créer le canal homologue. Ces informations d'identification sont passées à la ChannelFactory qui permet de créer des canaux dans le programme de résolution personnalisé.

Remarque

Lorsque vous utilisez des réseaux locaux et impromptu avec un programme de résolution personnalisé, il est fortement recommandé que les applications utilisant ou prenant en charge les réseaux locaux ou impromptu de liaison incluent une logique qui sélectionne une adresse locale à liaison unique à utiliser lors de la connexion. Cela empêche toute confusion potentiellement causée par les ordinateurs avec plusieurs adresses locales de liaison. Ainsi, le canal homologue ne peut utiliser qu'une seule adresse de liaison locale à la fois. Vous pouvez spécifier cette adresse avec la ListenIpAddress propriété sur le NetPeerTcpBinding.

Pour une démonstration de l’implémentation d’un programme de résolution personnalisé, consultez Peer Channel Custom Peer Resolver.

Dans cette section

Dans CustomPeerResolverService : inscriptions des clients

Voir aussi