PeerNameResolver.Resolve 메서드

정의

PNRP 프로토콜을 사용하여 PeerName 개체를 PeerNameRecord로 확인합니다.

오버로드

Resolve(PeerName)

호출 피어에 알려진 모든 클라우드에서 지정된 PeerName을 확인합니다.

Resolve(PeerName, Int32)

호출 피어에 알려진 모든 클라우드에서 지정된 피어 이름을 확인하여 지정된 수를 초과하지 않는 PeerNameRecord 개체를 반환합니다.

Resolve(PeerName, Cloud)

지정된 PeerName에서 특정 Cloud을 확인합니다.

Resolve(PeerName, Cloud, Int32)

지정된 PeerName에서 특정 Cloud을 확인하여 지정된 수를 초과하지 않는 PeerNameRecord 개체를 반환합니다.

설명

이 메서드는 클라우드의 피어 이름을 연결합니다. 호출을 PeerNameResolver 호출 하는 것과 비슷합니다는 Resolve 각 피어 이름 레코드에 대 한 메서드는 PeerNameRecordCollection합니다. 참고 개별 피어 이름 레코드 확인 메서드를 사용 하 여 여러 피어 이름 확인 무효화 하지 않습니다.

에 대 한 모든 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

매개 변수

peerName
PeerName

확인할 PeerName입니다.

반환

지정된 피어 이름과 연결된 모든 피어 이름 레코드(PeerNameRecordCollection 개체로 표시)를 포함하는 PeerNameRecord입니다. 보안되지 않은 피어 이름의 경우 동일한 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, PeerToPeerException throw 됩니다.

보안 되지 않은 피어 이름에 대 한 이름이 있습니다 수 등록 (및 다른 엔드포인트과 연결 된) 동일한 클라우드 내의 여러 피어가 됩니다.

호출을 PeerNameResolver 호출 하는 것과 비슷합니다는 Resolve 각 피어 이름 레코드에 대 한 메서드는 PeerNameRecordCollection합니다. 참고 개별 피어 이름 레코드 확인 메서드를 사용 하 여 여러 피어 이름 확인 무효화 하지 않습니다.

에 대 한 모든 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

매개 변수

peerName
PeerName

확인할 PeerName입니다.

maxRecords
Int32

모든 PeerNameRecord 개체에서 제공된 peerName을 확인하여 가져올 최대 Cloud 개체의 수입니다.

반환

크기가 maxRecords 항목보다 작거나 같은 PeerNameRecordCollection입니다. 이 컬렉션에는 확인된 PeerName과 연결되어 있는 피어 이름 레코드가 포함됩니다.

예외

peerName 매개 변수가 null로 설정된 경우

maxRecords 매개 변수가 0보다 작은 경우

제공된 피어 이름을 확인할 수 없는 경우

설명

이 메서드는 클라우드의 피어 이름을 연결합니다. 모든 클라우드 피어 이름에 대해 쿼리 됩니다. 보안 되지 않은 피어 이름에 대 한 피어 이름이 같은 여러 사용자가 등록 수 Cloud, 다른 엔드포인트과 연결 합니다. 경우는 PeerName 확인할 수 없습니다 (예를 들어 피어 이름 게시 되지 않은)는 PeerToPeerException throw 됩니다.

에 대 한 모든 Resolve 메서드는 해당 하는 ResolveAsync 메서드. ResolveAsync 메서드 비동기 이벤트 처리에 대 한 시스템 토큰이 포함 된다는 점을 제외 하 고 해당 매개 변수 목록은 동일 합니다.

ResolveCompleted 확인 작업 오류 완료 되거나 취소 될 경우 이벤트가 발생 합니다.

적용 대상

Resolve(PeerName, Cloud)

지정된 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

매개 변수

peerName
PeerName

확인할 PeerName입니다.

cloud
Cloud

피어 이름을 확인할 Cloud입니다.

반환

지정된 피어 이름과 연결된 모든 피어 이름 레코드(PeerNameRecordCollection 개체로 표시)를 포함하는 PeerNameRecord입니다. 보안되지 않은 피어 이름의 경우 동일한 PeerName을 같은 Cloud의 여러 사용자가 등록하고 여러 엔드포인트와 연결할 수 있습니다.

예외

peerName 매개 변수가 null로 설정된 경우

제공된 피어 이름을 확인할 수 없는 경우

설명

경우는 PeerName 확인할 수 없습니다 (즉, 피어 이름 게시 되지 않은)는 PeerToPeerException throw 됩니다.

보안 되지 않은 피어 이름에 대 한 이름이 있습니다 수 등록 (및 다른 엔드포인트과 연결 된) 동일한 클라우드 내의 여러 피어가 됩니다.

에 대 한 모든 Resolve 메서드는 해당 하는 ResolveAsync 메서드. ResolveAsync 메서드 비동기 이벤트 처리에 대 한 시스템 토큰이 포함 된다는 점을 제외 하 고 해당 매개 변수 목록은 동일 합니다.

경우는 Cloud 매개 변수는 null, PeerNameResolver 사용 하 여를 Available 바로 가기를 입력 합니다 Name, 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

매개 변수

peerName
PeerName

확인할 PeerName입니다.

cloud
Cloud

peerName을 확인할 Cloud입니다.

maxRecords
Int32

지정된 클라우드에서 특정 peerName을 확인하여 가져올 최대 피어 이름 레코드 개체의 수입니다.

반환

크기가 maxRecords 항목보다 작거나 같은 PeerNameRecordCollection입니다. 이 컬렉션에는 확인된 PeerName과 연결되어 있는 피어 이름 레코드가 포함됩니다.

특성

예외

peerName 매개 변수가 null로 설정된 경우

maxRecords 매개 변수가 0보다 작은 경우

제공된 피어 이름을 확인할 수 없는 경우

설명

보안 되지 않은 피어 이름에 대 한 이름이 있습니다 수 등록 (및 다른 엔드포인트과 연결 된) 동일한 클라우드 내의 여러 피어가 됩니다. 피어 이름을 확인할 수 없는 경우는 PeerToPeerException throw 됩니다.

에 대 한 모든 Resolve 메서드는 해당 하는 ResolveAsync 메서드. ResolveAsync 메서드 비동기 이벤트 처리에 대 한 시스템 토큰이 포함 된다는 점을 제외 하 고 해당 매개 변수 목록은 동일 합니다.

경우는 Cloud 매개 변수는 null, PeerNameResolver 사용 하 여를 Available 바로 가기를 입력 합니다 Name, Scope, 및 ScopeId합니다.

ResolveCompleted 확인 작업 오류 완료 되거나 취소 될 경우 이벤트가 발생 합니다.

적용 대상