Share via


DatagramSocket.BindServiceNameAsync 方法

定义

重载

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 事件后完成。 BindServiceNameAsyncBindEndpointAsync 方法用于将 DatagramSocket 绑定到本地服务名称或 UDP 端口。 ConnectAsync 方法还会导致绑定操作。 如果套接字尚未绑定,则写入由 某个 GetOutputStreamAsync 方法返回的流也会导致绑定操作。

在以下情况下,不需要 BindServiceNameAsyncBindEndpointAsync 方法:

另请参阅

适用于

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 方法:

如果使用 [BindServiceNameAsync (String, NetworkAdapter) 方法,则绑定操作会将传入和传出多播和单播数据包限制为指定的适配器。

使用指定的网络适配器是尽最大努力的。 在其他配置中,在弱主机或转发模式下配置的适配器的系统可能使用指定的适配器以外的适配器。

另请参阅

适用于