DatagramChannel.Receive(ByteBuffer) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このチャネルを介してデータグラムを受信します。
[Android.Runtime.Register("receive", "(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;", "GetReceive_Ljava_nio_ByteBuffer_Handler")]
public abstract Java.Net.SocketAddress? Receive (Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("receive", "(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;", "GetReceive_Ljava_nio_ByteBuffer_Handler")>]
abstract member Receive : Java.Nio.ByteBuffer -> Java.Net.SocketAddress
パラメーター
- dst
- ByteBuffer
データグラムの転送先となるバッファー
戻り値
データグラムのソース アドレス、または null
このチャネルが非ブロッキング モードで、すぐに使用できるデータグラムがない場合
- 属性
例外
チャネルが既に閉じている場合は 。
このメソッドが動作している間にチャネルが別のスレッドによって閉じられた場合。
操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元のスレッドに割り込み状態が設定され、チャネルが閉じられます。
その他の I/O エラーが発生します。
注釈
このチャネルを介してデータグラムを受信します。
データグラムがすぐに使用可能になった場合、またはこのチャネルがブロック モードで、最終的に使用可能になった場合、データグラムは指定されたバイト バッファーにコピーされ、そのソース アドレスが返されます。 このチャネルが非ブロッキング モードで、データグラムがすぐに使用できない場合、このメソッドは直ちに .null
データグラムは、通常 ReadableByteChannel#read(java.nio.ByteBuffer) read
の操作と同様に、現在の位置から始まる特定のバイト バッファーに転送されます。 バッファーに残っているバイト数が、データグラムを保持するために必要なバイト数よりも少ない場合、データグラムの残りの部分は自動的に破棄されます。
このメソッドは、クラスのメソッドとまったく同じセキュリティ チェックをjava.net.DatagramSocket#receive receive
java.net.DatagramSocket
実行します。 つまり、ソケットが特定のリモート アドレスに接続されておらず、セキュリティ マネージャーがインストールされている場合、このメソッドを受信したデータグラムごとに、ソースのアドレスとポート番号がセキュリティ マネージャーの java.lang.SecurityManager#checkAccept checkAccept
メソッドによって許可されていることを確認します。 このセキュリティ チェックのオーバーヘッドは、最初にメソッドを介して #connect connect
ソケットを接続することで回避できます。
このメソッドはいつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に読み取り操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。 このチャネルのソケットがバインドされていない場合、このメソッドは最初に、パラメーターnull
を指定してメソッドを呼び出す#bind bind
かのように、自動的に割り当てられるアドレスにソケットをバインドします。
の Java ドキュメントjava.nio.channels.DatagramChannel.receive(java.nio.ByteBuffer)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。