AsynchronousSocketChannel.Write Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler) |
Scrive una sequenza di byte in questo canale dal buffer specificato. |
| Write(ByteBuffer) | |
| Write(ByteBuffer, Object, ICompletionHandler) | |
| Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler) |
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati. |
Write(ByteBuffer, Int64, TimeUnit, Object, ICompletionHandler)
Scrive una sequenza di byte in questo canale dal buffer specificato.
[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
Parametri
- src
- ByteBuffer
Buffer da cui recuperare i byte
- timeout
- Int64
Tempo massimo per il completamento dell'operazione di I/O
- unit
- TimeUnit
Unità temporale dell'argomento timeout
- attachment
- Object
Oggetto da associare all'operazione di I/O; può essere null
- handler
- ICompletionHandler
Gestore per l'utilizzo del risultato
- Attributi
Commenti
Scrive una sequenza di byte in questo canale dal buffer specificato.
Questo metodo avvia un'operazione di scrittura asincrona per scrivere una sequenza di byte in questo canale dal buffer specificato. Il handler parametro è un gestore di completamento che viene richiamato quando l'operazione di scrittura viene completata (o ha esito negativo). Il risultato passato al gestore di completamento è il numero di byte scritti.
Se viene specificato un timeout e il timeout viene trascorso prima del completamento dell'operazione, viene completato con l'eccezione InterruptedByTimeoutException. Quando si verifica un timeout e l'implementazione non può garantire che i byte non siano stati scritti o non vengano scritti nel canale dal buffer specificato, altri tentativi di scrittura nel canale causeranno la generazione di un'eccezione di runtime non specifica.
In caso contrario, questo metodo funziona allo stesso modo del AsynchronousByteChannel#write(ByteBuffer,Object,CompletionHandler) metodo .
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica 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
Parametri
- src
- ByteBuffer
Valori restituiti
Implementazioni
- Attributi
Commenti
per java.nio.channels.AsynchronousSocketChannel.write(java.nio.ByteBuffer).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica 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
Parametri
- src
- ByteBuffer
- attachment
- Object
- handler
- ICompletionHandler
Implementazioni
- Attributi
Commenti
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Write(ByteBuffer[], Int32, Int32, Int64, TimeUnit, Object, ICompletionHandler)
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati.
[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
Parametri
- srcs
- ByteBuffer[]
Buffer da cui recuperare i byte
- offset
- Int32
Offset all'interno della matrice di buffer del primo buffer da cui recuperare i byte; deve essere non negativo e non maggiore di srcs.length
- length
- Int32
Numero massimo di buffer a cui accedere; deve essere non negativo e non maggiore di srcs.length - offset
- timeout
- Int64
Tempo massimo per il completamento dell'operazione di I/O
- unit
- TimeUnit
Unità temporale dell'argomento timeout
- attachment
- Object
Oggetto da associare all'operazione di I/O; può essere null
- handler
- ICompletionHandler
Gestore per l'utilizzo del risultato
- Attributi
Commenti
Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati. Questa operazione, talvolta denominata <scrittura>/em< di raccolta em>, è spesso utile quando si implementano protocolli di rete che raggruppano i dati in segmenti costituiti da una o più intestazioni a lunghezza fissa seguite da un corpo a lunghezza variabile. Il handler parametro è un gestore di completamento che viene richiamato quando l'operazione di scrittura viene completata (o ha esito negativo). Il risultato passato al gestore di completamento è il numero di byte scritti.
Questo metodo avvia una scrittura di fino a r byte in questo canale, dove r è il numero totale di byte rimanenti nella sottosequenza specificata della matrice di buffer specificata, ovvero
<blockquote>
srcs[offset].remaining()
+ srcs[offset+1].remaining()
+ ... + srcs[offset+length-1].remaining()
</blockquote>
al momento del tentativo di scrittura.
Si supponga che venga scritta una sequenza di byte di lunghezza n , dove 0 < n <= r. Fino ai primi srcs[offset].remaining() byte di questa sequenza vengono scritti dal buffer srcs[offset], fino ai byte successivi srcs[offset+1].remaining() vengono scritti dal buffer srcs[offset+1]e così via, fino a quando non viene scritta l'intera sequenza di byte. Il maggior numero possibile di byte vengono scritti da ogni buffer, quindi la posizione finale di ogni buffer aggiornato, ad eccezione dell'ultimo buffer aggiornato, è garantito che sia uguale al limite del buffer. Il sistema operativo sottostante può imporre un limite al numero di buffer che possono essere usati in un'operazione di I/O. Se il numero di buffer (con byte rimanenti), supera questo limite, l'operazione di I/O viene eseguita con il numero massimo di buffer consentiti dal sistema operativo.
Se viene specificato un timeout e il timeout viene trascorso prima del completamento dell'operazione, viene completato con l'eccezione InterruptedByTimeoutException. Quando si verifica un timeout e l'implementazione non può garantire che i byte non siano stati scritti o non vengano scritti nel canale dai buffer specificati, quindi ulteriori tentativi di scrivere nel canale causeranno la generazione di un'eccezione di runtime non specifica.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.