System.Net.PeerToPeer Namespace

Provides access to peer networking functionality.

Classes

Cloud

Specifies the values that define a Peer Cloud object.

CloudCollection

Represents a container for CloudCollection elements. This class cannot be inherited.

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.

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.

PeerNameRecordCollection

Represents a container for PeerNameRecord elements.

PeerNameRegistration

Registers a PeerName in a Cloud or set of clouds.

PeerNameResolver

Specifies the values that resolve a PeerName to a PeerNameRecord using the PNRP Namespace Provider API protocol.

PeerToPeerException

Represents the exceptions that are thrown when an error is raised by the Peer-to-Peer Infrastructure.

PnrpPermission

Specifies the values that are used in System.Net.PeerToPeer object permissions.

PnrpPermissionAttribute

Allows security actions for PnrpPermission to be applied to code using declarative security.

ResolveCompletedEventArgs

Used in conjunction with the ResolveCompleted event, which is signaled when a resolve request for a specific PeerName has completed.

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.

Enums

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.

PnrpScope

Specifies the different scopes of a PNRP cloud.

Remarks

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.

See also