Language

AsynchronousSocketChannel.Write メソッド

定義

オーバーロード

Name 説明
Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

Write(ByteBuffer)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

Write(ByteBuffer, Object, ICompletionHandler)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

指定されたバッファーのサブシーケンスからこのチャネルにバイト シーケンスを書き込みます。

Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write(Java.Nio.ByteBuffer? src, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write : Java.Nio.ByteBuffer * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

パラメーター

src
ByteBuffer

バイトの取得元のバッファー

timeout
Int64

I/O 操作が完了するまでの最大時間

unit
TimeUnit

timeout引数の時間単位

attachment
Object

I/O 操作にアタッチするオブジェクト。は、次のことができます。 null

handler
ICompletionHandler

結果を使用するためのハンドラー

属性

注釈

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

このメソッドは、指定されたバッファーからこのチャネルにバイト シーケンスを書き込む非同期書き込み操作を開始します。 handler パラメーターは、書き込み操作が完了 (または失敗) したときに呼び出される完了ハンドラーです。 完了ハンドラーに渡される結果は、書き込まれたバイト数です。

タイムアウトが指定され、操作が完了する前にタイムアウトが経過すると、例外 InterruptedByTimeoutExceptionで完了します。 タイムアウトが発生し、実装では、バイトが書き込まれていないか、指定されたバッファーからチャネルに書き込まれていないことを保証できません。その後、チャネルに書き込もうとすると、指定されていないランタイム例外がスローされます。

それ以外の場合、このメソッドは AsynchronousByteChannel#write(ByteBuffer,Object,CompletionHandler) メソッドと同じ方法で動作します。

java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>)の Java ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象

Write(ByteBuffer)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_Ljava_nio_ByteBuffer_Handler", ApiSince=26)]
public abstract Java.Util.Concurrent.IFuture? Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_Ljava_nio_ByteBuffer_Handler", ApiSince=26)>]
abstract member Write : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture

パラメーター

src
ByteBuffer

バイトの取得元のバッファー

返品

操作の結果を表す Future

実装

属性

注釈

java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer)の Java ドキュメント。

Javaリファレンス。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象

Write(ByteBuffer, Object, ICompletionHandler)

指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Write(Java.Nio.ByteBuffer? src, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Write : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
override this.Write : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

パラメーター

src
ByteBuffer

バイトの取得元のバッファー

attachment
Object

I/O 操作にアタッチするオブジェクト。null を指定できます

handler
ICompletionHandler

完了ハンドラー オブジェクト

実装

属性

注釈

java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>)の Java ドキュメント。

Javaリファレンス。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象

Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)

指定されたバッファーのサブシーケンスからこのチャネルにバイト シーケンスを書き込みます。

[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write(Java.Nio.ByteBuffer[]? srcs, int offset, int length, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write : Java.Nio.ByteBuffer[] * int * int * int64 * Java.Util.Concurrent.TimeUnit * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

パラメーター

srcs
ByteBuffer[]

バイトの取得元のバッファー

offset
Int32

バイトの取得元となる最初のバッファーのバッファー配列内のオフセット。負以外の値を指定する必要があり、次の値を超える値を指定する必要があります。 srcs.length

length
Int32

アクセスするバッファーの最大数。負以外の値を指定する必要があり、次の値を超える値を指定する必要があります。 srcs.length - offset

timeout
Int64

I/O 操作が完了するまでの最大時間

unit
TimeUnit

timeout引数の時間単位

attachment
Object

I/O 操作にアタッチするオブジェクト。は、次のことができます。 null

handler
ICompletionHandler

結果を使用するためのハンドラー

属性

注釈

指定されたバッファーのサブシーケンスからこのチャネルにバイト シーケンスを書き込みます。 この操作は、 <em>gathering write</em> とも呼ばれ、多くの場合、1 つ以上の固定長ヘッダーとそれに続く可変長本文で構成されるセグメントにデータをグループ化するネットワーク プロトコルを実装する場合に便利です。 handler パラメーターは、書き込み操作が完了 (または失敗) したときに呼び出される完了ハンドラーです。 完了ハンドラーに渡される結果は、書き込まれたバイト数です。

このメソッドは、このチャネルへの最大 r バイトの書き込みを開始します。 r は、指定されたバッファー配列の指定されたサブシーケンスに残っているバイトの合計数です。つまり、

<blockquote>

srcs[offset].remaining()
                + srcs[offset+1].remaining()
                + ... + srcs[offset+length-1].remaining()

</blockquote>

書き込みが試行された時点。

長さ n のバイト シーケンスが書き込まれるとします。ここで、 0 < n <= r. このシーケンスの最初の srcs[offset].remaining() バイトまでバッファー srcs[offset]から書き込まれ、次の srcs[offset+1].remaining() バイトまでバッファー srcs[offset+1]から書き込まれます。バイト シーケンス全体が書き込まれるまでです。 各バッファーから可能な限り多くのバイトが書き込まれるので、最後に更新されたバッファーを除く各更新バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。 基になるオペレーティング システムは、I/O 操作で使用できるバッファーの数に制限を課す可能性があります。 バッファーの数 (残りバイト数) がこの制限を超えると、オペレーティング システムで許可されるバッファーの最大数で I/O 操作が実行されます。

タイムアウトが指定され、操作が完了する前にタイムアウトが経過すると、例外 InterruptedByTimeoutExceptionで完了します。 タイムアウトが発生し、実装では、バイトが書き込まれていないか、指定されたバッファーからチャネルに書き込まれていないことを保証できません。その後、チャネルに書き込もうとすると、指定されていないランタイム例外がスローされます。

java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>)の Java ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象