AsynchronousSocketChannel.Write Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler) |
Escribe una secuencia de bytes en este canal desde el búfer especificado. |
| Write(ByteBuffer) | |
| Write(ByteBuffer, Object, ICompletionHandler) | |
| Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler) |
Escribe una secuencia de bytes en este canal desde una subsecuencia de los búferes especificados. |
Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)
Escribe una secuencia de bytes en este canal desde el búfer especificado.
[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
Parámetros
- src
- ByteBuffer
Búfer desde el que se van a recuperar los bytes.
- timeout
- Int64
Tiempo máximo para que se complete la operación de E/S.
- unit
- TimeUnit
Unidad de tiempo del timeout argumento
- attachment
- Object
Objeto que se va a adjuntar a la operación de E/S; puede ser null
- handler
- ICompletionHandler
Controlador para consumir el resultado
- Atributos
Comentarios
Escribe una secuencia de bytes en este canal desde el búfer especificado.
Este método inicia una operación de escritura asincrónica para escribir una secuencia de bytes en este canal desde el búfer especificado. El handler parámetro es un controlador de finalización que se invoca cuando se completa la operación de escritura (o se produce un error). El resultado pasado al controlador de finalización es el número de bytes escritos.
Si se especifica un tiempo de espera y el tiempo de espera transcurre antes de que se complete la operación, se completa con la excepción InterruptedByTimeoutException. Cuando se produce un tiempo de espera y la implementación no puede garantizar que no se hayan escrito bytes o que no se escriban en el canal desde el búfer especificado, los intentos adicionales de escritura en el canal harán que se produzca una excepción en tiempo de ejecución no específica.
De lo contrario, este método funciona de la misma manera que el AsynchronousByteChannel#write(ByteBuffer,Object,CompletionHandler) método .
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
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
Parámetros
- src
- ByteBuffer
Devoluciones
Implementaciones
- Atributos
Comentarios
Java documentación para java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
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
Parámetros
- src
- ByteBuffer
- attachment
- Object
- handler
- ICompletionHandler
Implementaciones
- Atributos
Comentarios
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)
Escribe una secuencia de bytes en este canal desde una subsecuencia de los búferes especificados.
[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
Parámetros
- srcs
- ByteBuffer[]
Búferes de los que se van a recuperar los bytes.
- offset
- Int32
Desplazamiento dentro de la matriz de búfer del primer búfer desde el que se van a recuperar los bytes; debe ser no negativo y no mayor que srcs.length
- length
- Int32
Número máximo de búferes a los que se va a acceder; debe ser no negativo y no mayor que srcs.length - offset
- timeout
- Int64
Tiempo máximo para que se complete la operación de E/S.
- unit
- TimeUnit
Unidad de tiempo del timeout argumento
- attachment
- Object
Objeto que se va a adjuntar a la operación de E/S; puede ser null
- handler
- ICompletionHandler
Controlador para consumir el resultado
- Atributos
Comentarios
Escribe una secuencia de bytes en este canal desde una subsecuencia de los búferes especificados. Esta operación, a veces denominada <>em gathering write</em>, suele ser útil al implementar protocolos de red que agrupan datos en segmentos que constan de uno o varios encabezados de longitud fija seguidos de un cuerpo de longitud variable. El handler parámetro es un controlador de finalización que se invoca cuando se completa la operación de escritura (o se produce un error). El resultado pasado al controlador de finalización es el número de bytes escritos.
Este método inicia una escritura de hasta r bytes en este canal, donde r es el número total de bytes restantes en la subsecuencia especificada de la matriz de búfer especificada, es decir,
<blockquote>
srcs[offset].remaining()
+ srcs[offset+1].remaining()
+ ... + srcs[offset+length-1].remaining()
</blockquote>
en el momento en que se intenta escribir.
Supongamos que se escribe una secuencia de bytes de longitud n , donde 0 < n <= r. Hasta los primeros srcs[offset].remaining() bytes de esta secuencia se escriben desde el búfer srcs[offset], hasta los siguientes srcs[offset+1].remaining() bytes se escriben desde el búfer srcs[offset+1], etc., hasta que se escribe toda la secuencia de bytes. Tantos bytes como sea posible se escriben desde cada búfer, por lo que se garantiza que la posición final de cada búfer actualizado, excepto el último búfer actualizado, sea igual al límite del búfer. El sistema operativo subyacente puede imponer un límite en el número de búferes que se pueden usar en una operación de E/S. Cuando el número de búferes (con bytes restantes), supera este límite, la operación de E/S se realiza con el número máximo de búferes permitidos por el sistema operativo.
Si se especifica un tiempo de espera y el tiempo de espera transcurre antes de que se complete la operación, se completa con la excepción InterruptedByTimeoutException. Cuando se produce un tiempo de espera y la implementación no puede garantizar que no se hayan escrito bytes o que no se escriban en el canal desde los búferes especificados, los intentos adicionales de escritura en el canal harán que se produzca una excepción en tiempo de ejecución no específica.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.