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)

public static PeerNearMeCollection GetPeersNearMe()

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;

}

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

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

.NET Framework

Supported in: 3.5

Community Additions

ADD
Show:
© 2014 Microsoft