AsynchronousSocketChannel.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler) |
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。 |
Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler) |
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。 |
Read(ByteBuffer) | |
Read(ByteBuffer, Object, ICompletionHandler) |
Read(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_arrayLjava_nio_ByteBuffer_IIJLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public abstract void Read (Java.Nio.ByteBuffer[]? dsts, int offset, int length, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_arrayLjava_nio_ByteBuffer_IIJLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
パラメーター
- dsts
- ByteBuffer[]
バイトの転送先となるバッファー
- offset
- Int32
バイトが転送される最初のバッファーのバッファー配列内のオフセット。負以外の値を指定し、次の値より大きくすることはできません。 dsts.length
- length
- Int32
アクセスするバッファーの最大数。負以外の値を指定し、次の値より大きくすることはできません。 dsts.length - offset
- timeout
- Int64
I/O 操作が完了するまでの最大時間
- unit
- TimeUnit
引数の timeout
時間単位
- attachment
- Object
I/O 操作にアタッチするオブジェクト。は、次のことができます。 null
- handler
- ICompletionHandler
結果を使用するためのハンドラー
- 属性
注釈
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。 この操作は、多くの場合、em>散乱読み取<り/em> と呼ばれ<、1 つ以上の固定長ヘッダーとそれに続く可変長本文で構成されるセグメントにデータをグループ化するネットワーク プロトコルを実装する場合に便利です。 この handler
パラメーターは、読み取り操作が完了 (または失敗) したときに呼び出される完了ハンドラーです。 完了ハンドラーに渡される結果は、読み取られたバイト数、または -1
チャネルがストリームの終わりに達したためにバイトを読み取ることができなかった場合です。
このメソッドは、このチャネルから最大 r バイトの読み取りを開始します。ここで 、r は、指定されたバッファー配列の指定されたサブシーケンスに残っているバイトの合計数です。つまり、
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
読み取りが試行された時点。
長さ n のバイト シーケンスが読み取られたとします。ここで 0
、 <
n <=
r. このシーケンスの最初 dsts[offset].remaining()
のバイトまでバッファー dsts[offset]
に転送され、次 dsts[offset+1].remaining()
のバイトまでバッファー dsts[offset+1]
に転送されます。バイト シーケンス全体が指定されたバッファーに転送されるまで、次のバイトまで転送されます。 可能な限り多くのバイトが各バッファーに転送されるため、最後に更新されたバッファーを除く各更新バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。 基になるオペレーティング システムは、I/O 操作で使用できるバッファーの数に制限を課す可能性があります。 バッファーの数 (残りバイト数) がこの制限を超えると、オペレーティング システムで許可されるバッファーの最大数で I/O 操作が実行されます。
タイムアウトが指定され、操作が完了する前にタイムアウトが経過すると、例外 InterruptedByTimeoutException
が発生して完了します。 タイムアウトが発生し、実装では、バイトが読み取られないか、チャネルから特定のバッファーに読み取られないことを保証できません。その後、チャネルから読み取ろうとすると、指定されていないランタイム例外がスローされます。
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
Read(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_JLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public abstract void Read (Java.Nio.ByteBuffer? dst, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_JLjava_util_concurrent_TimeUnit_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
パラメーター
- dst
- ByteBuffer
バイトの転送先となるバッファー
- timeout
- Int64
I/O 操作が完了するまでの最大時間
- unit
- TimeUnit
引数の timeout
時間単位
- attachment
- Object
I/O 操作にアタッチするオブジェクト。は、次のことができます。 null
- handler
- ICompletionHandler
結果を使用するためのハンドラー
- 属性
注釈
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
このメソッドは、このチャネルから特定のバッファーにバイトシーケンスを読み取る非同期読み取り操作を開始します。 この handler
パラメーターは、読み取り操作が完了 (または失敗) したときに呼び出される完了ハンドラーです。 完了ハンドラーに渡される結果は、読み取られたバイト数、または -1
チャネルがストリームの終わりに達したためにバイトを読み取ることができなかった場合です。
タイムアウトが指定され、操作が完了する前にタイムアウトが経過すると、操作は例外 InterruptedByTimeoutException
で完了します。 タイムアウトが発生し、実装では、バイトが読み取られないか、チャネルから特定のバッファーに読み取られないことを保証できません。その後、チャネルから読み取ろうとすると、指定されていないランタイム例外がスローされます。
それ以外の場合、このメソッドはメソッドと同じ方法で AsynchronousByteChannel#read(ByteBuffer,Object,CompletionHandler)
動作します。
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
Read(ByteBuffer)
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler", ApiSince=26)]
public abstract Java.Util.Concurrent.IFuture? Read (Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler", ApiSince=26)>]
abstract member Read : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture
パラメーター
- dst
- ByteBuffer
戻り値
実装
- 属性
注釈
の Java ドキュメントjava.nio.channels.AsynchronousSocketChannel.read(java.nio.ByteBuffer)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
Read(ByteBuffer, Object, ICompletionHandler)
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Read (Java.Nio.ByteBuffer? dst, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
override this.Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
パラメーター
- dst
- ByteBuffer
- attachment
- Object
- handler
- ICompletionHandler
実装
- 属性
注釈
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。