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 など) が localServiceName パラメーターで指定されたローカル UDP ポートに既にバインドされている場合、BindServiceNameAsync メソッドは失敗します。
バインドは、 DatagramSocket 上の任意のリモート エンドポイントからデータを受信するために不可欠であり、ソケットが作成され、 MessageReceived イベントが設定された後に行われるのが一般的です。 BindServiceNameAsync または BindEndpointAsync メソッドは、DatagramSocket をローカル サービス名または UDP ポートにバインドするために使用されます。 ConnectAsync メソッドもバインド操作になります。 GetOutputStreamAsync メソッドの 1 つによって返されるストリームに書き込む場合、ソケットがまだバインドされていない場合は、バインド操作も行われます。
次の場合、 BindServiceNameAsync メソッドと BindEndpointAsync メソッドは必要ありません。
- DatagramSocket は、データの送信にのみ使用されます。
- DatagramSocket は、1 つのエンドポイントとの間でデータを送受信するために使用されます。
こちらもご覧ください
- 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 など) が同じネットワーク インターフェイスの localServiceName パラメーターで指定されたローカル UDP ポートに既にバインドされている場合、BindServiceNameAsync メソッドは失敗します。
バインドは、 DatagramSocket 上の任意のリモート エンドポイントからデータを受信するために不可欠であり、ソケットが作成され、 MessageReceived イベントが設定された後に行われるのが一般的です。 BindServiceNameAsync または BindEndpointAsync メソッドは、 DatagramSocket をローカル サービス名または UDP ポートにバインドするために使用されます。 ConnectAsync メソッドもバインド操作になりますが、特定のネットワーク アダプターに限定することはできません。 GetOutputStreamAsync メソッドの 1 つによって返されるストリームへの書き込みでは、ソケットがまだバインドされていない場合にもバインド操作が発生しますが、特定のネットワーク アダプターに限定することはできません。
次の場合、BindServiceNameAsync メソッドと BindEndpointAsync メソッドは必要ありません。
- DatagramSocket は、データの送信にのみ使用されます。
- DatagramSocket は、1 つのエンドポイントとの間でデータを送受信するために使用されます。
[BindServiceNameAsync(String, NetworkAdapter) メソッドを使用すると、バインド操作によって、着信および送信マルチキャストパケットとユニキャスト パケットが指定されたアダプターに制限されます。
指定したネットワーク アダプターの使用は、ベスト エフォートベースです。 特に、弱ホストモードまたは転送モードで構成されたアダプターを持つシステムでは、指定されたアダプター以外のアダプターを使用できます。