情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DatagramSocket.GetOutputStreamAsync(HostName, String) | getOutputStreamAsync(HostName, String) Method

ネットワーク データを送信するためのリモート ホスト名とリモート サービス名によって指定されたリモート送信先への IOutputStream を取得する操作を開始します。

構文


datagramSocket.getOutputStreamAsync(remoteHostName, remoteServiceName).done( /* 成功ハンドラーとエラー ハンドラー */ );

パラメーター

remoteHostName

型: HostName

リモート ホスト名またはリモート IP アドレス。

remoteServiceName

型: String [JavaScript] | System.String [.NET] | Platform::String [C++]

リモート サービス名またはリモート UDP ポート。

戻り値

型: IAsyncOperation<IOutputStream>

非同期操作を表す IOutputStream

解説

DatagramSocketGetOutputStreamAsync メソッドは、リモート ホスト名およびリモート サービス名によって指定されたリモート ネットワーク送信先に接続する、IOutputStream を取得する操作を開始するために使用されます。IOutputStream は、リモート送信先にデータを送信するために使用できます。

GetOutputStreamAsync メソッドが正常に完了すると、IOutputStream を返します。そのストリームに書き込むと、指定したリモート ホストとサービス名にデータグラムが送信されます。IOutputStream は常に、ConnectAsync メソッドで指定されたリモートのホスト名およびリモート サービス名に送信します。

remoteHostName パラメーターには、リモート送信先のホスト名または IP アドレスを含めることができます。remoteServiceName パラメーターには、リモート送信先のサービス名または UDP アドレスを含めることができます。remoteHostName パラメーターにホスト名が含まれる場合、GetOutputStreamAsync メソッドは、リモート ホスト名の名前を解決します。 remoteServiceName パラメーターにサービス名が含まれる場合、GetOutputStreamAsync メソッドは、UDP ポートにリモート サービス名を解決します。

remoteHostName および remoteServiceName の各パラメーターが提供されている必要があります。remoteHostName パラメーターが null の場合、または remoteServiceName パラメーターが null か空の文字列の場合には、エラーが発生します。

リモート ネットワーク送信先に UDP データグラムを送信するには、DatagramSocket を使用する 2 つの方法があります。

  • GetOutputStreamAsync メソッドのいずれかを使用。
  • OutputStream プロパティを DataWriter オブジェクトに渡し、DataWriter オブジェクトのメソッドを使用してデータを送信して、ConnectAsync メソッドが正常に呼び出された後。

GetOutputStreamAsync メソッドにより、アプリケーションは DatagramSocket オブジェクトを使用して、複数のネットワーク送信先へ UDP データグラムを送信できます。GetOutputStreamAsync メソッドが呼び出されるたびに、アプリケーションは remoteHostName パラメーターと remoteServiceName パラメーターに対して異なる値を設定できます。

ConnectAsync メソッドにより、アプリは、DatagramSocket オブジェクトを使用して、UDP データグラムを 1 つのネットワーク宛先に送信できます。

DatagramSocket オブジェクトのデータを受け取るには、アプリケーションがイベント ハンドラーに MessageReceived イベントを割り当て、GetOutputStreamAsync メソッドを呼び出す前に、BindEndpointAsync または BindServiceNameAsync メソッドを呼び出し、ローカル サービス名か UDP ポートに DatagramSocket を結合する必要があります。ConnectAsync メソッドを呼び出した後にイベント ハンドラーと束縛操作が行われた場合、エラーが発生します。

操作の一般的な順序は次のとおりです。

  • DatagramSocket を作成します。
  • MessageReceived イベントをイベント ハンドラーに割り当てます。
  • DatagramSocket をローカル サービス名または UDP ポートに束縛します。
  • OutputStream を取得してデータをリモートのエンドポイントに送信するには、GetOutputStreamAsync メソッドを呼び出します。

また、GetOutputStreamAsync メソッドは、アプリケーションが BindEndpointAsync メソッドまたは BindServiceNameAsync メソッドを使用してローカル サービス名または UDP ポートを束縛する場合、ConnectAsync メソッドと異なります。GetOutputStreamAsync メソッドを使用すると、アプリケーションは、ローカル サービス名または UDP ポートに送信されたリモートの宛先からパケットを受信します。 ConnectAsync メソッドを使用すると、アプリケーションは、ConnectAsync メソッドにパラメーターとして渡されたリモートの宛先からのみパケットを受信します。

要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

Windows Server 2012

最小限サポートされる携帯電話

Windows Phone 8

名前空間

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

メタデータ

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

ID_CAP_NETWORKING [Windows Phone]

参照

DatagramSocket
HostName
GetOutputStreamAsync(EndpointPair)
IOutputStream

 

 

表示: