Condividi tramite


AsynchronousSocketChannel Classe

Definizione

Canale asincrono per i socket di connessione orientati al flusso.

[Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousSocketChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IAsynchronousByteChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousSocketChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousSocketChannel = class
    inherit Object
    interface IAsynchronousByteChannel
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Ereditarietà
AsynchronousSocketChannel
Attributi
Implementazioni

Commenti

Canale asincrono per i socket di connessione orientati al flusso.

I canali socket asincroni vengono creati in uno dei due modi. Viene creato un nuovo creato AsynchronousSocketChannel richiamando uno dei #open open metodi definiti da questa classe. Un canale appena creato è aperto ma non ancora connesso. Una connessione AsynchronousSocketChannel viene creata quando viene eseguita una connessione al socket di un AsynchronousServerSocketChanneloggetto . Non è possibile creare un canale socket asincrono per un oggetto arbitrario e preesistente java.net.Socket socket.

Un canale appena creato viene connesso richiamando il #connect connect relativo metodo; una volta connesso, un canale rimane connesso fino a quando non viene chiuso. Se un canale socket è connesso può essere determinato richiamando il #getRemoteAddress getRemoteAddress relativo metodo. Un tentativo di richiamare un'operazione di I/O su un canale non connesso causerà la creazione di un'operazione NotYetConnectedException di I/O.

I canali di questo tipo sono sicuri per l'uso da più thread simultanei. Supportano la lettura e la scrittura simultanee, anche se alla maggior parte di un'operazione di lettura e un'operazione di scrittura può essere in sospeso in qualsiasi momento. Se un thread avvia un'operazione di lettura prima del completamento di un'operazione di lettura precedente, verrà generata un'operazione ReadPendingException di lettura. Analogamente, un tentativo di avviare un'operazione di scrittura prima del completamento di una scrittura precedente genererà un WritePendingExceptionoggetto .

Le opzioni socket vengono configurate usando il #setOption(SocketOption,Object) setOption metodo . I canali socket asincroni supportano le opzioni seguenti: <blockquote table class="striped"><didascalia style="display:none><>"Socket options</didascalia<> thead<>tr<>th scope="col">Option Name</><th scope="col>"description</th/><tr<>/thead<>tbody<>tr th>< scope="row"><java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF/th><td> Le dimensioni del buffer di invio del socket /td>>><<</tr tr th scope="rowjava.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF<<>>"/th td> Td Le dimensioni del buffer <<di ricezione del socket /td/><<>tr tr th scope="row">java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE</>><th td Keep connection alive </td><></tr<>tr<>th scope="row<>java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR"/th><td td> Re-use address </td/tr><tr><th scope="row"<java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY>/th<>td> Disable the Nagle algorithm </td><<>/tr></tbody<>/table></blockquote Additional (implementazione> specifica) opzioni possono essere supportate anche.

<h2 Timeouts</h2>>

I #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read metodi e #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write definiti da questa classe consentono di specificare un timeout quando si avvia un'operazione di lettura o scrittura. Se il timeout scade prima del completamento di un'operazione, l'operazione viene completata con l'eccezione InterruptedByTimeoutException. Un timeout può lasciare il canale o la connessione sottostante in uno stato incoerente. Se l'implementazione non può garantire che i byte non siano stati letti dal canale, quindi inserisce il canale in uno stato< di errore em>/em> specifico <dell'implementazione. Un tentativo successivo di avviare un'operazione causa l'generazione di un'eccezione read di runtime non specificata. Analogamente, se un'operazione write non viene interrotta e l'implementazione non è in grado di garantire che i byte non siano stati scritti nel canale, altri tentativi write per il canale causano la generazione di un'eccezione di runtime non specificata. Quando viene trascorso un timeout, lo stato di ByteBuffero la sequenza di buffer non viene definito per l'operazione di I/O. I buffer devono essere eliminati o almeno è necessario prestare attenzione per garantire che i buffer non siano accessibili mentre il canale rimane aperto. Tutti i metodi che accettano parametri di timeout trattano valori inferiori o uguali a zero per significare che l'operazione di I/O non esegue il timeout.

Aggiunta nella versione 1.7.

Documentazione Java per java.nio.channels.AsynchronousSocketChannel.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

AsynchronousSocketChannel(AsynchronousChannelProvider)

Inizializza una nuova istanza della classe.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

Canale asincrono per i socket di connessione orientati al flusso.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
IsOpen

Canale asincrono per i socket di connessione orientati al flusso.

JniIdentityHashCode

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
JniPeerMembers

Canale asincrono per i socket di connessione orientati al flusso.

LocalAddress

Canale asincrono per i socket di connessione orientati al flusso.

PeerReference

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
RemoteAddress

Canale asincrono per i socket di connessione orientati al flusso.

ThresholdClass

Canale asincrono per i socket di connessione orientati al flusso.

ThresholdType

Canale asincrono per i socket di connessione orientati al flusso.

Metodi

Bind(SocketAddress)

Canale asincrono per i socket di connessione orientati al flusso.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Close()

Chiude questo canale.

Connect(SocketAddress)

Connette questo canale.

Connect(SocketAddress, Object, ICompletionHandler)

Connette questo canale.

Dispose()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
Dispose(Boolean)

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
Open()

Apre un canale socket asincrono.

Open(AsynchronousChannelGroup)

Apre un canale socket asincrono.

Provider()

Restituisce il provider che ha creato questo canale.

Read(ByteBuffer)

Canale asincrono per i socket di connessione orientati al flusso.

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

Legge una sequenza di byte da questo canale nel buffer specificato.

Read(ByteBuffer, Object, ICompletionHandler)

Canale asincrono per i socket di connessione orientati al flusso.

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

Legge una sequenza di byte da questo canale in una sottosequenza dei buffer specificati.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetOption(ISocketOption, Object)

Canale asincrono per i socket di connessione orientati al flusso.

ShutdownInput()

Arrestare la connessione per la lettura senza chiudere il canale.

ShutdownOutput()

Arrestare la connessione per la scrittura senza chiudere il canale.

ToArray<T>()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Write(ByteBuffer)

Canale asincrono per i socket di connessione orientati al flusso.

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

Scrive una sequenza di byte in questo canale dal buffer specificato.

Write(ByteBuffer, Object, ICompletionHandler)

Canale asincrono per i socket di connessione orientati al flusso.

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

Scrive una sequenza di byte in questo canale da una sottosequenza dei buffer specificati.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.Finalized()

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canale asincrono per i socket di connessione orientati al flusso.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Canale asincrono per i socket di connessione orientati al flusso.

GetJniTypeName(IJavaPeerable)

Canale asincrono per i socket di connessione orientati al flusso.

Si applica a