Language

DatagramSocket.BindServiceNameAsync メソッド

定義

オーバーロード

Name 説明
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 の要件

要件 説明
アプリの機能
internetClientServer privateNetworkClientServer

注釈

BindServiceNameAsync メソッドは、ローカル コンピューター上のすべてのネットワーク インターフェイスのローカル IP アドレスに、localServiceName パラメーターで指定されたローカル サービス名または UDP ポートにバインドします。 localServiceName パラメーターが空の文字列の場合、システムはバインドするローカル UDP ポートを選択します。

DatagramSocketControl.MulticastOnly プロパティを使用していない限り、UDP (別の DatagramSocketなど) を使用する別のアプリが、localServiceName パラメーターで指定されたローカル UDP ポートに既にバインドされている場合、BindServiceNameAsync メソッドは失敗します。

バインドは、DatagramSocket上の任意のリモート エンドポイントからデータを受信するために不可欠です。通常、ソケットが作成され、MessageReceived イベントが設定された後に行われます。 BindServiceNameAsync または BindEndpointAsync メソッド 使用して、DatagramSocket をローカル サービス名または UDP ポートにバインドします。 ConnectAsync メソッドもバインド操作になります。 GetOutputStreamAsync メソッドの 1 つによって返されるストリームに書き込む場合は、ソケットがまだバインドされていない場合にもバインド操作が発生します。

次の場合、BindServiceNameAsync および BindEndpointAsync メソッド は必要ありません。

  • DatagramSocket は、データの送信にのみ使用されます。
  • DatagramSocket は、単一のエンドポイントとの間でデータを送受信するために使用されます。

関連項目

適用対象

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 メソッドの 1 つによって返されるストリームに書き込むと、ソケットがまだバインドされていない場合にもバインド操作が行われますが、特定のネットワーク アダプターに限定することはできません。

BindServiceNameAsync メソッドと BindEndpointAsync メソッド は、次の場合には必要ありません。

  • DatagramSocket は、データの送信にのみ使用されます。
  • DatagramSocket は、単一のエンドポイントとの間でデータを送受信するために使用されます。

[BindServiceNameAsync(String, NetworkAdapter) メソッドを使用すると、バインド操作によって、着信および送信マルチキャストおよびユニキャスト パケットが指定されたアダプターに制限されます。

指定したネットワーク アダプターの使用はベスト エフォートベースです。 特に、弱いホストモードまたは転送モードで構成されたアダプターを持つシステムでは、指定されたアダプター以外のアダプターを使用できます。

関連項目

適用対象