Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um eine Verbindung mit einem Gitter herzustellen, erfordert ein Peerknoten die IP-Adressen anderer Knoten. IP-Adressen werden durch Kontaktieren eines Resolver-Dienstes abgerufen, der die Mesh-ID nutzt und eine Liste der Adressen zurückgibt, die mit dieser bestimmten Mesh-ID registriert sind. Der Resolver führt eine Liste der registrierten Adressen, die er erstellt, indem jeder Knoten im Mesh-Netzwerk mit dem Dienst registriert wird.
Sie können angeben, welcher PeerResolver-Dienst über die Resolver-Eigenschaft des NetPeerTcpBinding verwendet werden soll.
Unterstützte Peerresolver
Peerkanal unterstützt zwei Arten von Resolvern: Peer Name Resolution Protocol (PNRP) und benutzerdefinierte Resolverdienste.
Standardmäßig verwendet Peer Channel den PNRP-Peer-Resolver-Dienst für die Ermittlung von Peers und Nachbarn im Gitter. Für Situationen/Plattformen, in denen PNRP nicht verfügbar oder anwendbar ist, stellt die Windows Communication Foundation (WCF) einen alternativen, serverbasierten Ermittlungsdienst bereit - den CustomPeerResolverService. Sie können einen benutzerdefinierten Resolverdienst auch explizit definieren, indem Sie eine Klasse schreiben, die die IPeerResolverContract Schnittstelle implementiert.
Peer Name Resolution Protocol (PNRP)
PNRP, der Standardlöser für Windows Vista, ist ein verteilter, serverloser Namenslöserdienst. PNRP kann auch unter Windows XP SP2 verwendet werden, indem das Advanced Networking Pack installiert wird. Alle zwei Clients, die dieselbe Version von PNRP ausführen, können sich mit diesem Protokoll auffinden, vorausgesetzt, sie erfüllen bestimmte Bedingungen (z. B. das Fehlen einer dazwischen liegenden Unternehmensfirewall). Beachten Sie, dass die Version von PNRP, die im Lieferumfang von Windows Vista enthalten ist, neuer als die im Advanced Networking Pack enthaltene Version ist. Überprüfen Sie das Microsoft Download Center, um Updates für PNRP für Windows XP SP2 zu erhalten.
Benutzerdefinierte Auflösungsdienste
Wenn der PNRP-Dienst nicht verfügbar ist oder Sie die vollständige Kontrolle über die Gitterstrukturierung wünschen, können Sie einen benutzerdefinierten serverbasierten Resolverdienst verwenden. Sie können diesen Dienst explizit definieren, indem Sie eine Resolverklasse schreiben, die die IPeerResolverContract Schnittstelle implementiert, oder indem Sie die standardmäßige Standardimplementierung verwenden. CustomPeerResolverService
Unter der Standardimplementierung des Diensts laufen Clientregistrierungen nach einer bestimmten Zeitspanne ab, wenn der Client die Registrierung nicht explizit aktualisiert. Clients, die den Resolverdienst verwenden, müssen die obere Grenze der Clientserverlatenz kennen, um Registrierungen rechtzeitig zu aktualisieren. Dies umfasst die Auswahl eines geeigneten Aktualisierungstimeouts (RefreshInterval) für den Resolverdienst. (Weitere Informationen finden Sie unter "Inside the CustomPeerResolverService: Client Registrations".)
Der Anwendungsentwickler muss auch berücksichtigen, die Verbindung zwischen Clients und dem benutzerdefinierten Resolver-Dienst abzusichern. Sie können dazu die Sicherheitseinstellungen der NetTcpBinding verwenden, über die Clients eine Verbindung zum Auflösungsdienst herstellen. Anmeldeinformationen müssen (sofern verwendet) für die zum Erstellen von Peerkanal verwendete ChannelFactory angegeben werden. Diese Anmeldeinformationen werden an die zum Erstellen von Kanälen für den benutzerdefinierten Resolver verwendete ChannelFactory übergeben.
Hinweis
Bei der Verwendung lokaler und spontaner Netzwerke mit einem benutzerdefinierten Resolver wird dringend empfohlen, dass Anwendungen, die link-local- oder impromptu-Netzwerke unterstützen, Logik enthalten, die eine einzelne linklokale Adresse auswählt, die beim Herstellen einer Verbindung verwendet werden soll. Dies verhindert jegliche Verwirrung, die durch Computer mit mehreren link-lokalen Adressen verursacht werden könnte. In Übereinstimmung damit unterstützt Peerkanal nur die Verwendung jeweils einer einzelnen verbindungslokalen Adresse. Sie können diese Adresse mit der ListenIpAddress Eigenschaft auf dem NetPeerTcpBinding angeben.
Eine Demonstration zur Implementierung eines benutzerdefinierten Resolvers finden Sie unter Peer Channel Custom Peer Resolver.
In diesem Abschnitt
Innerhalb von CustomPeerResolverService: Clientregistrierungen