정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

DatagramSocket.ConnectAsync(HostName, String) | connectAsync(HostName, String) Method

DatagramSocket에서 원격 호스트 이름 및 원격 서비스 이름으로 지정된 원격 대상에 연결하는 작업을 시작합니다.

구문


datagramSocket.connectAsync(remoteHostName, remoteServiceName).done( /* 성공 및 오류 처리기 */ );

매개 변수

remoteHostName

형식: HostName

원격 네트워크 대상의 호스트 이름 또는 IP 주소입니다.

remoteServiceName

형식: String [JavaScript] | System.String [.NET] | Platform::String [C++]

원격 네트워크 대상의 서비스 이름 또는 UDP 포트입니다.

반환 값

형식: IAsyncAction

DatagramSocket 개체에 대한 비동기 연결 작업입니다.

설명

DatagramSocket에 대한 ConnectAsync 메서드는 OutputStream 속성을 사용할 때 데이터그램이 전송될 원격 호스트 이름이나 원격 IP 주소와 원격 서비스 이름이나 UDP 포트 번호를 정의하는 데 사용됩니다. 또한 이 메서드는 remoteHostName 매개 변수에서 받을 패킷의 원격 IP 주소를 제한합니다.

앱에서는 나중에 DatagramSocketOutputStream 속성에 대해 WriteAsync 메서드를 호출하거나 OutputStreamDataWriter 개체로 전달하고 DataWriter 개체의 메서드를 호출하여 네트워크 데이터를 원격 네트워크 대상으로 보낼 수 있습니다.

remoteHostName 매개 변수에는 원격 대상의 호스트 이름 또는 IP 주소가 포함될 수 있습니다. remoteServiceName 매개 변수에는 원격 대상의 서비스 이름 또는 UDP 포트가 포함될 수 있습니다. remoteHostName 매개 변수에 호스트 이름이 있을 경우 ConnectAsync 메서드는 IP 주소에서 원격 호스트 이름을 확인합니다. remoteServiceName 매개 변수에 서비스 이름이 있을 경우 ConnectAsync 메서드는 UDP 포트 번호로 원격 호스트 이름을 확인합니다.

remoteServiceName 매개 변수에서 기본적으로 인식되는 서비스 이름 문자열은 로컬 컴퓨터의 %windir%\System32\drivers\etc\services 파일에 나열된 서비스 이름입니다. 다른 서비스 이름 값의 경우 DNS(Domain Name System) 서버에 DNS SRV 레코드를 확인하는 이름 서비스 쿼리가 발생합니다.

remoteHostNameremoteServiceName 매개 변수가 제공되어야 합니다. remoteHostName이 null이거나 remoteServiceName이 null 또는 빈 문자열인 경우 오류가 발생 됩니다.

DatagramSocket을 사용하여 UDP 데이터그램을 원격 네트워크 대상에 보내는 방법은 두 가지가 있습니다.

GetOutputStreamAsync 메서드를 사용하면 앱이 DatagramSocket 개체를 사용하여 UDP 다이어그램을 여러 네트워크 대상에 보낼 수 있습니다. GetOutputStreamAsync 메서드가 호출될 때마다 앱은 remoteHostNameremoteServiceName 매개 변수에 대해 다른 값을 설정할 수 있습니다.

DatagramSocket 개체에 대한 데이터를 받으려면 앱은 MessageReceived 이벤트를 이벤트 처리기에 할당한 다음 ConnectAsync 메서드를 호출하기 전에 BindEndpointAsync 또는 BindServiceNameAsync 메서드를 호출하여 DatagramSocket을 로컬 서비스 이름이나 UDP 포트에 바인딩해야 합니다. 연결 작업 후에 이벤트 처리기 및 바인딩 작업이 발생할 경우 오류가 발생합니다.

일반적인 작업 순서는 다음과 같습니다.

  • DatagramSocket을 만듭니다.
  • MessageReceived 이벤트를 이벤트 처리기에 할당합니다.
  • 로컬 서비스 이름 또는 UDP 포트에 DatagramSocket을 바인딩합니다.
  • ConnectAsync 메서드를 호출하여 원격 끝점에 연결합니다.

앱이 BindEndpointAsync 또는 BindServiceNameAsync 메서드를 사용하여 로컬 서비스 이름 또는 UDP 포트를 바인딩하는 경우 GetOutputStreamAsync 메서드는 ConnectAsync 메서드와 다릅니다. GetOutputStreamAsync 메서드를 사용하는 경우 앱은 원격 대상에서 로컬 서비스 이름 또는 UDP 포트에 전송되는 패킷을 받습니다. ConnectAsync 메서드를 사용하는 경우 앱은 원격 대상에서 ConnectAsync 메서드에 매개 변수로 전달되는 패킷만 받습니다.

ConnectAsync 메서드는 유니캐스트 IP 주소에만 작동합니다. ConnectAsync 매개 변수에 대해 멀티캐스트 IP 주소를 사용하여 remoteHostName 메서드를 호출할 때 비동기 작업은 오류가 발생하며 완료됩니다. SocketError.GetStatus 메서드에 오류를 전달할 때 반환되는 값은 SocketErrorStatus.HostNotFound입니다.

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

지원되는 최소 전화

Windows Phone 8

Namespace

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

Metadata

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

internetClientServer
privateNetworkClientServer
ID_CAP_NETWORKING [Windows Phone]

참고 항목

DatagramSocket
ConnectAsync(EndpointPair)
HostName
OutputStream
DataWriter
IOutputStream

 

 

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft. All rights reserved.