PeerNameResolver.Resolve 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
PeerName PNRP 프로토콜을 PeerNameRecord 사용하여 개체를 확인합니다.
오버로드
| Name | Description |
|---|---|
| Resolve(PeerName) |
호출 피어에 알려진 모든 클라우드에서 지정된 PeerName 것을 확인합니다. |
| Resolve(PeerName, Int32) |
호출 피어에 알려진 모든 클라우드에서 지정된 피어 이름을 확인하여 지정된 수의 PeerNameRecord 개체를 반환합니다. |
| Resolve(PeerName, Cloud) | |
| Resolve(PeerName, Cloud, Int32) |
지정한 PeerName 개체 수보다 더 이상 반환하지 않고 지정된 Cloud개체에 PeerNameRecord 지정된 개체를 확인합니다. |
설명
이 메서드는 피어 이름을 클라우드에 연결합니다. 메서드를 PeerNameResolver 호출하는 것은 에 있는 Resolve 각 피어 이름 레코드에 대한 메서드를 호출하는 PeerNameRecordCollection것과 유사합니다. 개별 피어 이름 레코드에서 Resolve 메서드를 사용하면 여러 피어 이름 확인이 무효화되지 않습니다.
모든 Resolve 메서드에 대해 동일한 ResolveAsync 메서드가 있습니다. ResolveAsync 메서드에 비동기 이벤트 처리를 위한 매개 변수 목록에 시스템 토큰이 포함되어 있다는 점을 제외하고 전달된 매개 변수에서 동일합니다.
매개 변수가 Cloud 제공되지 않으면 메서드는 바로 가기를 Available 사용하여 클라우드 매개 변수를 채웁니다. 매개 변수가 maxRecords 없으면 기본값 0이면 예외가 ArgumentOutOfRangeException throw됩니다.
이 이벤트는 해결 작업이 오류로 완료되거나 취소된 경우에도 발생합니다.
Resolve(PeerName)
호출 피어에 알려진 모든 클라우드에서 지정된 PeerName 것을 확인합니다.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve(System.Net.PeerToPeer.PeerName peerName);
member this.Resolve : System.Net.PeerToPeer.PeerName -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName) As PeerNameRecordCollection
매개 변수
반품
PeerNameRecordCollection 지정된 피어 이름과 연결된 모든 피어 이름 레코드(개체로 PeerNameRecord 표시됨)를 포함하는 A입니다. 보안되지 않은 피어 이름의 경우 동일한 PeerName 사용자에 의해 등록 Cloud되고 다른 엔드포인트와 연결될 수 있습니다.
예외
peerName 매개 변수가 null로 설정된 경우
지정된 피어 이름을 확인할 수 없습니다.
예제
다음 코드 예제에서는 게시 된 해결 PeerName 하는 방법을 보여 줍니다 Cloud.
static void Main(string[] args)
{
try
{
if (args.Length != 1)
{
Console.WriteLine("Usage: PeerNameResolver.exe <PeerNameToResolve>");
return;
}
// create a resolver object to resolve a Peer Name that was previously published
PeerNameResolver resolver = new PeerNameResolver();
// The Peer Name to resolve must be passed as the first
// command line argument to the application
PeerName peerName = new PeerName(args[0]);
// Resolve the Peer Name
// This is a network operation and will block until the resolve completes
PeerNameRecordCollection results = resolver.Resolve(peerName);
// Display the data returned by the resolve operation
Console.WriteLine("Resolve operation complete.\n", peerName);
Console.WriteLine("Results for PeerName: {0}", peerName);
Console.WriteLine();
int count = 1;
foreach (PeerNameRecord record in results)
{
Console.WriteLine("Record #{0} results...", count);
Console.Write("Comment:");
if (record.Comment != null)
{
Console.Write(record.Comment);
}
Console.WriteLine();
Console.Write("Data:");
if (record.Data != null)
{
// Assumes the data blob associated with the PeerName
// is made up of ASCII characters
Console.Write(System.Text.Encoding.ASCII.GetString(record.Data));
}
Console.WriteLine();
Console.WriteLine("Endpoints:");
foreach (IPEndPoint endpoint in record.EndPointCollection)
{
Console.WriteLine("\t Endpoint:{0}", endpoint);
Console.WriteLine();
}
count++;
}
Console.ReadKey();
}
catch (Exception e)
{
Console.WriteLine("Error occurred while attempting to resolve the PeerName: {0}", e.Message);
Console.WriteLine(e.StackTrace);
// P2P is not supported on Windows Server 2003
if (e.InnerException != null)
{
Console.WriteLine("Inner Exception is {0}", e.InnerException);
}
}
}
설명
이 메서드는 피어 이름을 클라우드에 연결합니다. 모든 클라우드는 .에 PeerName대해 쿼리됩니다. 피어 이름을 확인할 null수 없거나 확인할 수 없으면 throw PeerToPeerException 됩니다.
보안되지 않은 피어 이름의 경우 동일한 클라우드 내의 다른 피어에 의해 동일한 이름을 등록(및 다른 엔드포인트와 연결)할 수 있습니다.
메서드를 PeerNameResolver 호출하는 것은 에 있는 Resolve 각 피어 이름 레코드에 대한 메서드를 호출하는 PeerNameRecordCollection것과 유사합니다. 개별 피어 이름 레코드에서 Resolve 메서드를 사용하면 여러 피어 이름 확인이 무효화되지 않습니다.
모든 Resolve 메서드에 대해 동일한 ResolveAsync 메서드가 있습니다. ResolveAsync 메서드에 비동기 이벤트 처리를 위한 시스템 토큰이 포함되어 있다는 점을 제외하고 해당 매개 변수 목록은 동일합니다.
매개 변수가 Cloud 제공되지 않으면 메서드는 바로 가기를 Available 사용하여 클라우드 매개 변수를 채웁니다.
ResolveCompleted 확인 작업이 오류로 완료되거나 취소되면 이벤트가 발생합니다.
추가 정보
적용 대상
Resolve(PeerName, Int32)
호출 피어에 알려진 모든 클라우드에서 지정된 피어 이름을 확인하여 지정된 수의 PeerNameRecord 개체를 반환합니다.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, int maxRecords);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve(System.Net.PeerToPeer.PeerName peerName, int maxRecords);
member this.Resolve : System.Net.PeerToPeer.PeerName * int -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, maxRecords As Integer) As PeerNameRecordCollection
매개 변수
- maxRecords
- Int32
제공된 PeerNameRecord개체의 Cloud 모든 peerName 개체에서 가져올 최대 개체 수입니다.
반품
PeerNameRecordCollection 크기가 항목보다 작거나 같은 값 maxRecords 입니다. 이 컬렉션에는 확인된 것과 연결된 PeerName 피어 이름 레코드가 포함됩니다.
예외
peerName 매개 변수가 null로 설정된 경우
maxRecords 매개 변수가 0보다 작거나 같습니다.
제공된 피어 이름을 확인할 수 없습니다.
설명
이 메서드는 피어 이름을 클라우드에 연결합니다. 모든 클라우드는 피어 이름에 대해 쿼리됩니다. 보안되지 않은 피어 이름의 경우 동일한 사용자 Cloud에 의해 동일한 피어 이름을 등록하고 다른 엔드포인트와 연결할 수 있습니다. PeerName 확인할 수 없는 경우(예: 피어 이름이 게시되지 않음) throw PeerToPeerException 됩니다.
모든 Resolve 메서드에 대해 동일한 ResolveAsync 메서드가 있습니다. ResolveAsync 메서드에 비동기 이벤트 처리를 위한 시스템 토큰이 포함되어 있다는 점을 제외하고 해당 매개 변수 목록은 동일합니다.
ResolveCompleted 확인 작업이 오류로 완료되거나 취소되면 이벤트가 발생합니다.
적용 대상
Resolve(PeerName, Cloud)
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve(System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud);
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, cloud As Cloud) As PeerNameRecordCollection
매개 변수
반품
PeerNameRecordCollection 지정된 피어 이름과 연결된 모든 피어 이름 레코드(개체로 PeerNameRecord 표시됨)를 포함하는 입니다. 보안되지 않은 피어 이름의 경우 동일한 PeerName 사용자에 의해 등록 Cloud되고 다른 엔드포인트와 연결될 수 있습니다.
예외
peerName 매개 변수가 null로 설정된 경우
제공된 피어 이름을 확인할 수 없습니다.
설명
확인할 PeerName 수 없는 경우(즉, 피어 이름이 게시되지 않음) throw PeerToPeerException 됩니다.
보안되지 않은 피어 이름의 경우 동일한 클라우드 내의 다른 피어에 의해 동일한 이름을 등록(및 다른 엔드포인트와 연결)할 수 있습니다.
모든 Resolve 메서드에 대해 동일한 ResolveAsync 메서드가 있습니다. ResolveAsync 메서드에 비동기 이벤트 처리를 위한 시스템 토큰이 포함되어 있다는 점을 제외하고 해당 매개 변수 목록은 동일합니다.
매개 변수인 CloudnullPeerNameResolver경우 바로 가기를 AvailableName사용하여 , Scope및 .ScopeId
ResolveCompleted 확인 작업이 오류로 완료되거나 취소되면 이벤트가 발생합니다.
적용 대상
Resolve(PeerName, Cloud, Int32)
지정한 PeerName 개체 수보다 더 이상 반환하지 않고 지정된 Cloud개체에 PeerNameRecord 지정된 개체를 확인합니다.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud, int maxRecords);
[System.Security.SecurityCritical]
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve(System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud, int maxRecords);
[<System.Security.SecurityCritical>]
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud * int -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, cloud As Cloud, maxRecords As Integer) As PeerNameRecordCollection
매개 변수
- maxRecords
- Int32
지정된 peerName클라우드에서 가져올 피어 이름 레코드 개체의 최대 수입니다.
반품
PeerNameRecordCollection 크기가 항목보다 작거나 같은 값 maxRecords 입니다. 이 컬렉션에는 확인된 것과 연결된 PeerName 피어 이름 레코드가 포함됩니다.
- 특성
예외
peerName 매개 변수가 null로 설정된 경우
maxRecords 매개 변수가 0보다 작거나 같습니다.
제공된 피어 이름을 확인할 수 없습니다.
설명
보안되지 않은 피어 이름의 경우 동일한 클라우드 내의 다른 피어에 의해 동일한 이름을 등록(및 다른 엔드포인트와 연결)할 수 있습니다. 피어 이름을 확인할 수 없으면 throw PeerToPeerException 됩니다.
모든 Resolve 메서드에 대해 동일한 ResolveAsync 메서드가 있습니다. ResolveAsync 메서드에 비동기 이벤트 처리를 위한 시스템 토큰이 포함되어 있다는 점을 제외하고 해당 매개 변수 목록은 동일합니다.
매개 변수인 CloudnullPeerNameResolver경우 바로 가기를 AvailableName사용하여 , Scope및 .ScopeId
ResolveCompleted 확인 작업이 오류로 완료되거나 취소되면 이벤트가 발생합니다.