System.Net.PeerToPeer Namespace

The System.Net.PeerToPeer namespace provides access to peer networking functionality.

How peers discover each other and resolve identifiers is complicated by transient connectivity and the lack of access to address records such as the Domain Name System (DNS). The Windows Peer-to-Peer Infrastructure solves this problem with a name resolution and peer discovery scheme called PNRP.

Peer Name Resolution Protocol (PNRP) provides a name resolution mechanism for peer-to-peer networks. PNRP is designed to resolve a name to a network IPEndPoint in a completely peer-to-peer manner.

Basic PNRP functionality is provided in the System.Net.PeerToPeer namespace classes. They provide the ability to create a peer and register it in a Cloud of peers. They also provide the ability to resolve a PeerName to its network endpoint, TCP port, cloud, or other address identifier(s).

Advanced functionality for peer-to-peer networking is provided in the System.Net.PeerToPeer.Collaboration namespace.

In Windows Vista, PNRP ships as a service that is started on demand by applications. In addition, there is a PNRP machine registration service that can be manually enabled by applications or users if they want to publish machine names for remote connections and communications.

PNRP version 1 was included in Windows XP Service Pack 2 (SP2), Windows XP Professional x64 Edition, and Windows XP with Service Pack 1 (SP1) and the Advanced Networking Pack for Windows XP.

In addition, there is a PNRP machine registration service which can be manually enabled by applications/users if there is interest in publishing machine names for remote connection and communication.

  Class Description
Public class Cloud Specifies the values that define a Peer Cloud object.
Public class CloudCollection Represents a container for CloudCollection elements. This class cannot be inherited.
Public class PeerName Specifies the values that define a peer-to-peer PeerName object. A peer name is typically a string used to identify a peer resource.
Public class PeerNameRecord Defines the set of values that form a peer name record object. This record includes items such as the peer name and the collection of endpoints with which it communicates. Peer name records are used to define the individual peer nodes within a Cloud.
Public class PeerNameRecordCollection Represents a container for PeerNameRecord elements.
Public class PeerNameRegistration Registers a PeerName in a Cloud or set of clouds.
Public class PeerNameResolver Specifies the values that resolve a PeerName to a PeerNameRecord using the PNRP Namespace Provider API protocol.
Public class PeerToPeerException Represents the exceptions that are thrown when an error is raised by the Peer-to-Peer Infrastructure.
Public class PnrpPermission Specifies the values that are used in System.Net.PeerToPeer object permissions.
Public class PnrpPermissionAttribute Allows security actions for PnrpPermission to be applied to code using declarative security.
Public class ResolveCompletedEventArgs Used in conjunction with the ResolveCompleted event, which is signaled when a resolve request for a specific PeerName has completed.
Public class ResolveProgressChangedEventArgs Used in conjunction with signaling the ResolveProgressChanged event. It is signaled whenever a PeerNameRecord object is found in response to a ResolveAsync operation on a specific PeerName.

  Enumeration Description
Public enumeration PeerNameType Defines the type of PeerName to create. A peer name is either secured or unsecured. A secured peer name provides a proof of ownership of the name. An unsecured peer name has no identity associated.
Public enumeration PnrpScope Specifies the different scopes of a PNRP cloud.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft