Export (0) Print
Expand All

PeerCollaboration.GetPeersNearMe Method

Returns a collection of all the PeerCollaboration endpoints currently signed in on the network subnet of the calling peer.

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

static member GetPeersNearMe : unit -> PeerNearMeCollection

Return Value

Type: System.Net.PeerToPeer.Collaboration.PeerNearMeCollection
A PeerNearMeCollection that contains all the PeerCollaboration endpoints currently signed into the 'Near Me' scope.
If peers are not discovered on the subnet, a collection of size zero (0) is returned.

ExceptionCondition
InvalidOperationException

The peer is not signed in to the 'Near Me' scope.

PeerToPeerException

An invalid value was returned when this method attempted to enumerate all known People Near Me endpoints.

The return of a fully populated PeerNearMeCollection via this method can require an indeterminate amount of time after sign-in depending on network topology and latency.

Calling this method requires a PermissionState of Unrestricted. This state is created when the Peer collaboration session begins.

The following code example illustrates how to retrieve PeersNearMe as a PeerNearMeCollection:

//This function retrieves the peers near me as a PeerNearMeCollection. 
public static PeerNearMeCollection GetPeersNearMe()
{
    PeerNearMeCollection peers = null;
    try
    {
        peers = PeerCollaboration.GetPeersNearMe();
        if (peers == null ||
            peers.Count == 0)
        {
            Console.WriteLine("There are no peers near me.");
        }
        foreach (PeerNearMe pnm in peers)
        {
            Console.WriteLine("Getting the peers near me: {0}, nickname {1}, isOnline {2}",
                pnm.ToString(),
                pnm.Nickname,
                pnm.IsOnline);
        }
    }
    catch (PeerToPeerException p2pEx)
    {
        Console.WriteLine("Could not obtain an enumeration of the peers near me: {0}", p2pEx.Message);
    }
    catch (InvalidOperationException ioEx)
    {
        Console.WriteLine("The application is no longer signed into the Peer Collaboration Infrastructure: {0}", 
            ioEx.Message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Unexpected exception caught when trying to enumerate the peers near me: {0}",
            ex.Message);
    }

    return peers;

}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft