DatagramSocket.BindServiceNameAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
BindServiceNameAsync(String) |
DatagramSocket에서 로컬 서비스 이름으로 바인딩 작업을 시작합니다. |
BindServiceNameAsync(String, NetworkAdapter) |
DatagramSocket에서 로컬 서비스 이름 및 특정 네트워크 인터페이스에 바인딩 작업을 시작합니다. |
BindServiceNameAsync(String)
DatagramSocket에서 로컬 서비스 이름으로 바인딩 작업을 시작합니다.
public:
virtual IAsyncAction ^ BindServiceNameAsync(Platform::String ^ localServiceName) = BindServiceNameAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction BindServiceNameAsync(winrt::hstring const& localServiceName);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction BindServiceNameAsync(string localServiceName);
function bindServiceNameAsync(localServiceName)
Public Function BindServiceNameAsync (localServiceName As String) As IAsyncAction
매개 변수
- localServiceName
-
String
Platform::String
winrt::hstring
DatagramSocket 개체를 바인딩할 로컬 서비스 이름 또는 UDP 포트입니다.
반환
DatagramSocket 개체에 대한 비동기 바인딩 작업입니다.
- 특성
Windows 요구 사항
앱 기능 |
ID_CAP_NETWORKING [Windows Phone]
internetClientServer
privateNetworkClientServer
|
설명
BindServiceNameAsync 메서드는 localServiceName 매개 변수에 지정된 로컬 서비스 이름 또는 UDP 포트에 있는 로컬 컴퓨터의 모든 네트워크 인터페이스의 로컬 IP 주소에 바인딩됩니다. localServiceName 매개 변수가 빈 문자열인 경우 시스템은 바인딩할 로컬 UDP 포트를 선택합니다.
DatagramSocketControl.MulticastOnly 속성을 사용하지 않는 한 UDP를 사용하는 다른 앱(예: 다른 DatagramSocket)이 localServiceName 매개 변수에 지정된 로컬 UDP 포트에 이미 바인딩된 경우 BindServiceNameAsync 메서드가 실패합니다.
바인딩은 DatagramSocket의 모든 원격 엔드포인트에서 데이터를 수신하는 데 필수적이며 일반적으로 소켓이 만들어지고 MessageReceived 이벤트가 설정된 후에 수행됩니다. BindServiceNameAsync 또는 BindEndpointAsync 메서드는 DatagramSocket을 로컬 서비스 이름 또는 UDP 포트에 바인딩하는 데 사용됩니다. ConnectAsync 메서드도 바인딩 작업을 수행합니다. GetOutputStreamAsync 메서드 중 하나에서 반환된 스트림에 쓰면 소켓이 아직 바인딩되지 않은 경우에도 바인딩 작업이 발생합니다.
BindServiceNameAsync 및 BindEndpointAsync 메서드는 다음 경우에 필요하지 않습니다.
- DatagramSocket은 데이터를 보내는 데만 사용됩니다.
- DatagramSocket은 단일 엔드포인트로 데이터를 보내고 받는 데 사용됩니다.
추가 정보
- BindEndpointAsync(HostName, String)
- BindServiceNameAsync(String, NetworkAdapter)
- DatagramSocketInformation
적용 대상
BindServiceNameAsync(String, NetworkAdapter)
DatagramSocket에서 로컬 서비스 이름 및 특정 네트워크 인터페이스에 바인딩 작업을 시작합니다.
public:
virtual IAsyncAction ^ BindServiceNameAsync(Platform::String ^ localServiceName, NetworkAdapter ^ adapter) = BindServiceNameAsync;
/// [Windows.Foundation.Metadata.Overload("BindServiceNameAndAdapterAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction BindServiceNameAsync(winrt::hstring const& localServiceName, NetworkAdapter const& adapter);
[Windows.Foundation.Metadata.Overload("BindServiceNameAndAdapterAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction BindServiceNameAsync(string localServiceName, NetworkAdapter adapter);
function bindServiceNameAsync(localServiceName, adapter)
Public Function BindServiceNameAsync (localServiceName As String, adapter As NetworkAdapter) As IAsyncAction
매개 변수
- localServiceName
-
String
Platform::String
winrt::hstring
DatagramSocket 개체를 바인딩할 로컬 서비스 이름 또는 UDP 포트입니다.
- adapter
- NetworkAdapter
DatagramSocket 개체를 바인딩할 네트워크 어댑터입니다.
반환
DatagramSocket 개체에 대한 비동기 바인딩 작업입니다.
- 특성
설명
[BindServiceNameAsync(String, NetworkAdapter) 메서드는 어댑터 매개 변수에 지정된 네트워크 인터페이스와 로컬 컴퓨터의 localServiceName 매개 변수에 지정된 로컬 서비스 이름 또는 UDP 포트에 바인딩됩니다. localServiceName 매개 변수가 빈 문자열인 경우 시스템은 바인딩할 로컬 UDP 포트를 선택합니다. 어댑터 매개 변수가 null이면 오류가 발생합니다.
[BindServiceNameAsync(String, NetworkAdapter) 메서드에서 사용하는 이름 확인 메커니즘은 DNS(도메인 이름 시스템) 네임스페이스에 대해 지정된 인터페이스로 제한됩니다.
DatagramSocketControl.MulticastOnly 속성을 사용하지 않는 한 UDP를 사용하는 다른 앱(예: 다른 DatagramSocket)이 동일한 네트워크 인터페이스의 localServiceName 매개 변수에 지정된 로컬 UDP 포트에 이미 바인딩된 경우 BindServiceNameAsync 메서드가 실패합니다.
바인딩은 DatagramSocket의 모든 원격 엔드포인트에서 데이터를 수신하는 데 필수적이며 일반적으로 소켓이 만들어지고 MessageReceived 이벤트가 설정된 후에 수행됩니다. BindServiceNameAsync 또는 BindEndpointAsync 메서드는 DatagramSocket 을 로컬 서비스 이름 또는 UDP 포트에 바인딩하는 데 사용됩니다. ConnectAsync 메서드도 바인딩 작업을 수행하지만 특정 네트워크 어댑터로 제한할 수는 없습니다. GetOutputStreamAsync 메서드 중 하나에서 반환된 스트림에 쓰면 소켓이 아직 바인딩되지 않았지만 특정 네트워크 어댑터로 제한될 수 없는 경우에도 바인딩 작업이 발생합니다.
BindServiceNameAsync 및 BindEndpointAsync 메서드는 다음 경우에 필요하지 않습니다.
- DatagramSocket은 데이터를 보내는 데만 사용됩니다.
- DatagramSocket은 단일 엔드포인트로 데이터를 보내고 받는 데 사용됩니다.
[BindServiceNameAsync(String, NetworkAdapter) 메서드를 사용하는 경우 바인딩 작업은 들어오는 멀티캐스트 및 유니캐스트 패킷을 지정된 어댑터로 제한합니다.
지정된 네트워크 어댑터를 사용하는 것이 가장 좋습니다. 다른 구성 중에서 어댑터가 약한 호스트 또는 전달 모드로 구성된 시스템은 지정된 어댑터 이외의 어댑터를 사용할 수 있습니다.