PeerNameResolver.Resolve 메서드

정의

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

오버로드

Name Description
Resolve(PeerName)

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

Resolve(PeerName, Int32)

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

Resolve(PeerName, Cloud)

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

매개 변수

peerName
PeerName

PeerName 확인할 수 있습니다.

반품

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

매개 변수

peerName
PeerName

PeerName 확인할 수 있습니다.

maxRecords
Int32

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

반품

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

예외

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

maxRecords 매개 변수가 0보다 작거나 같습니다.

제공된 피어 이름을 확인할 수 없습니다.

설명

이 메서드는 피어 이름을 클라우드에 연결합니다. 모든 클라우드는 피어 이름에 대해 쿼리됩니다. 보안되지 않은 피어 이름의 경우 동일한 사용자 Cloud에 의해 동일한 피어 이름을 등록하고 다른 엔드포인트와 연결할 수 있습니다. PeerName 확인할 수 없는 경우(예: 피어 이름이 게시되지 않음) throw PeerToPeerException 됩니다.

모든 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 수 없는 경우(즉, 피어 이름이 게시되지 않음) 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

매개 변수

peerName
PeerName

PeerName 확인할 수 있습니다.

cloud
Cloud

Cloud 을 확인할 수 있는 위치에 있습니다peerName.

maxRecords
Int32

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

반품

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

특성

예외

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

maxRecords 매개 변수가 0보다 작거나 같습니다.

제공된 피어 이름을 확인할 수 없습니다.

설명

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

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

매개 변수인 CloudnullPeerNameResolver경우 바로 가기를 AvailableName사용하여 , Scope및 .ScopeId

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

적용 대상