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,則BindServiceNameAsync方法將會失敗,例如,) 已經系結至localServiceName參數中指定的本機 UDP 埠。

系結對於從 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,則 BindServiceNameAsync 方法將會失敗,例如,) 已系結至相同網路介面上 localServiceName 參數中指定的本機 UDP 埠。

系結對於從 DatagramSocket上的任何遠端端點接收資料很重要,而且通常會在建立通訊端並設定 MessageReceived 事件之後完成。 BindServiceNameAsync 或 BindEndpointAsync 方法可用來將 DatagramSocket 系結至本機服務名稱或 UDP 埠。 ConnectAsync方法也會導致系結作業,但不能限於特定的網路介面卡。 寫入其中一個 GetOutputStreamAsync 方法所傳回的資料流程,如果通訊端尚未系結,但不能限於特定網路介面卡,也會導致系結作業。

在下列情況下,不需要 BindServiceNameAsync 和 BindEndpointAsync 方法:

如果使用 [BindServiceNameAsync (String, NetworkAdapter) 方法,系結作業會將傳入和傳出多播和單播封包限制為指定的配接器。

使用指定的網路介面卡是盡最大努力。 在其他設定中,以弱式主機或轉送模式設定介面卡的系統可能會使用指定配接器以外的介面卡。

另請參閱

適用於