PeerCollaboration.GetPeersNearMe 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回呼叫的對等電腦的網路子網路上,目前登入的所有 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,內含目前登入至 'Near Me' 範圍的所有 PeerCollaboration 端點。
如果子網路上找不到對等電腦,則傳回大小為零 (0) 的集合。
- 屬性
例外狀況
對等電腦未登入 'Near Me' 範圍。
當這個方法嘗試列舉所有已知的「近端分享」端點時,傳回了無效的值。
範例
下列程式代碼範例說明如何將 PeersNearMe 擷取為 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;
}
備註
根據網路拓撲和延遲,透過此方法完整填入 PeerNearMeCollection 的 傳回可能需要不確定的時間量。
呼叫這個方法需要 PermissionState 的 Unrestricted。 當共同作業會話開始時, Peer 就會建立此狀態。