PeerContact.PeerEndPoints Property

 

Gets the PeerEndPointCollection associated with this PeerContact.

Namespace:   System.Net.PeerToPeer.Collaboration
Assembly:  System.Net (in System.Net.dll)

public override PeerEndPointCollection PeerEndPoints {
	[SecurityCriticalAttribute]
	get;
}

Property Value

Type: System.Net.PeerToPeer.Collaboration.PeerEndPointCollection

The PeerEndPoint collection associated with this PeerContact. The default value for this property is null.

Exception Condition
ObjectDisposedException

This PeerContact object has been disposed.

Whether a PeerEndPoint is a local peer, remote peer, or host peer for the peer contact represented by this instance is not relevant to the presence of the PeerEndPoint in either the endpoint PeerEndPointCollection or the ContactManager.

The following code example illustrates the proper usage of the PeerEndPoints property:

// If more than one endpoint for a contact exists, let the user choose which to use.
//Parameters:
//   pContact - contact to pick an endpoint for
//   return value: pPeerEndpoint -  the endpoint the user picked
private static PeerEndPoint PickEndpointForContact(PeerContact pContact)
{
    PeerEndPointCollection endPointCollection = pContact.PeerEndPoints;
    if (endPointCollection == null)
    {
        Console.WriteLine("Cannot return endpoint for contact {0} -- PeerEndPointCollection is null.", pContact);
        return null;
    }

    if (endPointCollection.Count == 0)
    {
        Console.WriteLine("Cannot return endpoint for contact {0} -- PeerEndPointCollection is empty.", pContact);
        return null;
    }

    foreach (PeerEndPoint pep in endPointCollection)
    {
        Console.WriteLine("PeerEndPoint is {0}:" , pep);
        Console.WriteLine("PeerEndPoint information:\n Name: {0}\n  IP Address: {1}\n  Port: {2}\n", 
            pep.Name, 
            pep.EndPoint.Address, 
            pep.EndPoint.Port);
    }

    return endPointCollection[0];
}

.NET Framework
Available since 3.5
Return to top
Show: