Condividi tramite


AsynchronousSocketChannel Classe

Definizione

Canale asincrono per i socket di connessione orientati ai flussi.

[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 ai flussi.

I canali socket asincroni vengono creati in uno dei due modi seguenti. Un oggetto appena creato AsynchronousSocketChannel viene creato 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 stabilita una connessione al socket di un oggetto AsynchronousServerSocketChannel. Non è possibile creare un canale socket asincrono per un oggetto arbitrario 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. Indica se un canale socket è connesso può essere determinato richiamando il relativo #getRemoteAddress getRemoteAddress metodo. Un tentativo di richiamare un'operazione di I/O su un canale non connesso genererà un'eccezione NotYetConnectedException .

I canali di questo tipo sono sicuri per l'uso da parte di più thread simultanei. Supportano la lettura e la scrittura simultanee, anche se al massimo 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'eccezione ReadPendingException . Analogamente, un tentativo di avviare un'operazione di scrittura prima del completamento di una scrittura precedente genererà un'eccezione WritePendingException.

Le opzioni socket vengono configurate usando il #setOption(SocketOption,Object) setOption metodo . I canali socket asincroni supportano le opzioni seguenti: <blockquote<>table class="striped"<>caption style="display:none">Socket options</caption><thead><tr><th scope="col">Option Name</th th<>scope="col">Description</th<>/tr></thead><tbody><tr><th scope="row"><java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF/th><td> Le dimensioni del socket send buffer </td></tr tr><<>th scope="row"<>java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF/th><td> Le dimensioni del buffer <di ricezione 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> Re-use address </td><></tr<>><tr th scope="row">java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY</th<>td> Disabilitare le opzioni Nagle algorithm </td<>/tr></tbody></table></blockquote> Additional (implementazion specific) possono essere supportate.

<h2>Timeout/<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 è trascorso 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 garantisce che i byte non siano stati letti dal canale, inserisce il canale in uno stato< di errore em/em>> specifico <dell'implementazione. Un tentativo successivo di avviare un'operazione read causa la generazione di un'eccezione di runtime non specificata. Analogamente, se si verifica un timeout di un'operazione write e l'implementazione non può garantire che i byte non siano stati scritti nel canale, altri tentativi di raggiungere write il canale causano la generazione di un'eccezione di runtime non specificata. Quando viene trascorso un timeout, lo stato dell'oggetto ByteBuffero la sequenza di buffer non è definito per l'operazione di I/O. I buffer devono essere eliminati o è necessario prestare almeno attenzione per assicurarsi che i buffer non siano accessibili mentre il canale rimane aperto. Tutti i metodi che accettano parametri di timeout trattano valori minori o uguali a zero per indicare che l'operazione di I/O non supera il timeout.

Aggiunta nella versione 1.7.

Documentazione java per java.nio.channels.AsynchronousSocketChannel.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

AsynchronousSocketChannel(AsynchronousChannelProvider)

Inizializza una nuova istanza della classe.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

Canale asincrono per i socket di connessione orientati ai flussi.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsOpen

Canale asincrono per i socket di connessione orientati ai flussi.

JniIdentityHashCode

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
JniPeerMembers

Canale asincrono per i socket di connessione orientati ai flussi.

LocalAddress

Canale asincrono per i socket di connessione orientati ai flussi.

PeerReference

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
RemoteAddress

Canale asincrono per i socket di connessione orientati ai flussi.

ThresholdClass

Canale asincrono per i socket di connessione orientati ai flussi.

ThresholdType

Canale asincrono per i socket di connessione orientati ai flussi.

Metodi

Bind(SocketAddress)

Canale asincrono per i socket di connessione orientati ai flussi.

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 ai flussi.

(Ereditato da Object)
Dispose(Boolean)

Canale asincrono per i socket di connessione orientati ai flussi.

(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 su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

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

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor 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 ai flussi.

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 ai flussi.

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 ai flussi.

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 ai flussi.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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 ai flussi.

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 ai flussi.

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 ai flussi.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
IJavaPeerable.Finalized()

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canale asincrono per i socket di connessione orientati ai flussi.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Canale asincrono per i socket di connessione orientati ai flussi.

GetJniTypeName(IJavaPeerable)

Canale asincrono per i socket di connessione orientati ai flussi.

Si applica a