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,則BindServiceNameAsync方法將會失敗,例如,) 已經系結至localServiceName參數中指定的本機 UDP 埠。
系結對於從 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,則 BindServiceNameAsync 方法將會失敗,例如,) 已系結至相同網路介面上 localServiceName 參數中指定的本機 UDP 埠。
系結對於從 DatagramSocket上的任何遠端端點接收資料很重要,而且通常會在建立通訊端並設定 MessageReceived 事件之後完成。 BindServiceNameAsync 或 BindEndpointAsync 方法可用來將 DatagramSocket 系結至本機服務名稱或 UDP 埠。 ConnectAsync方法也會導致系結作業,但不能限於特定的網路介面卡。 寫入其中一個 GetOutputStreamAsync 方法所傳回的資料流程,如果通訊端尚未系結,但不能限於特定網路介面卡,也會導致系結作業。
在下列情況下,不需要 BindServiceNameAsync 和 BindEndpointAsync 方法:
- DatagramSocket僅用於傳送資料。
- DatagramSocket可用來將資料傳送至單一端點,並從中接收資料。
如果使用 [BindServiceNameAsync (String, NetworkAdapter) 方法,系結作業會將傳入和傳出多播和單播封包限制為指定的配接器。
使用指定的網路介面卡是盡最大努力。 在其他設定中,以弱式主機或轉送模式設定介面卡的系統可能會使用指定配接器以外的介面卡。