次の方法で共有


PeerCollaboration.GetPeersNearMe メソッド

定義

呼び出し元のピアのネットワーク サブネットに現在サインインしている、すべての PeerCollaboration エンドポイントのコレクションを返します。

public:
 static System::Net::PeerToPeer::Collaboration::PeerNearMeCollection ^ GetPeersNearMe();
[System.Security.SecurityCritical]
public static System.Net.PeerToPeer.Collaboration.PeerNearMeCollection GetPeersNearMe ();
[<System.Security.SecurityCritical>]
static member GetPeersNearMe : unit -> System.Net.PeerToPeer.Collaboration.PeerNearMeCollection
Public Shared Function GetPeersNearMe () As PeerNearMeCollection

戻り値

"近くの人" スコープに現在サインインしているすべての PeerNearMeCollection エンドポイントを格納している PeerCollaboration

ピアがサブネットで検出されない場合、サイズがゼロ (0) のコレクションが返されます。

属性

例外

ピアが "近くの人" スコープにサインインしていません。

このメソッドが、既知のすべての "近くの人との接続" エンドポイントを列挙しようとしたときに、無効な値が返されました。

次のコード例は、PeerNearMeCollection として PeersNearMe を取得する方法を示しています。

//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;
}

注釈

このメソッドを使用して完全に設定された PeerNearMeCollection を返すには、ネットワーク トポロジと待機時間に応じて、サインイン後に不確定な時間が必要になる場合があります。

このメソッドを呼び出す場合は、 の UnrestrictedPermissionState必要です。 この状態は、コラボレーション セッションの開始時に Peer 作成されます。

適用対象