次の方法で共有


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 イベントが設定された後に行われるのが一般的です。 BindServiceNameAsync または BindEndpointAsync メソッドは、DatagramSocket をローカル サービス名または UDP ポートにバインドするために使用されます。 ConnectAsync メソッドもバインド操作になります。 GetOutputStreamAsync メソッドの 1 つによって返されるストリームに書き込む場合、ソケットがまだバインドされていない場合は、バインド操作も行われます。

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

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

こちらもご覧ください

適用対象

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 は、1 つのエンドポイントとの間でデータを送受信するために使用されます。

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

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

こちらもご覧ください

適用対象