SocketChannel Classe
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.
Canale selezionabile per socket di connessione orientati al flusso.
[Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)]
public abstract class SocketChannel : Java.Nio.Channels.Spi.AbstractSelectableChannel, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IByteChannel, Java.Nio.Channels.IGatheringByteChannel, Java.Nio.Channels.IScatteringByteChannel
[<Android.Runtime.Register("java/nio/channels/SocketChannel", DoNotGenerateAcw=true)>]
type SocketChannel = class
inherit AbstractSelectableChannel
interface IByteChannel
interface IReadableByteChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IWritableByteChannel
interface IGatheringByteChannel
interface IScatteringByteChannel
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Canale selezionabile per socket di connessione orientati al flusso.
Un canale socket viene creato richiamando uno dei #open open
metodi di questa classe. Non è possibile creare un canale per un socket arbitrario e preesistente. Un canale socket appena creato è aperto ma non ancora connesso. Un tentativo di richiamare un'operazione di I/O su un canale non connesso causerà la creazione di un'operazione NotYetConnectedException
di I/O. Un canale socket può essere connesso richiamando il #connect connect
relativo metodo; una volta connesso, un canale socket rimane connesso fino a quando non viene chiuso. Se un canale socket è connesso può essere determinato richiamando il #isConnected isConnected
relativo metodo.
I canali socket supportano una connessione senza blocco: Un canale socket può essere creato e il processo di definizione del collegamento al socket remoto può essere avviato tramite il #connect connect
metodo per il completamento successivo dal #finishConnect finishConnect
metodo . Se un'operazione di connessione è in corso può essere determinata richiamando il #isConnectionPending isConnectionPending
metodo.
I canali socket supportano l'arresto asincrono, simile all'operazione di chiusura asincrona specificata nella Channel
classe. Se il lato di input di un socket viene arrestato da un thread mentre un altro thread viene bloccato in un'operazione di lettura nel canale del socket, l'operazione di lettura nel thread bloccato verrà completata senza leggere alcun byte e restituirà -1
. Se il lato di output di un socket viene arrestato da un thread mentre un altro thread viene bloccato in un'operazione di scrittura sul canale del socket, il thread bloccato riceverà un AsynchronousCloseException
oggetto .
Le opzioni socket vengono configurate usando il #setOption(SocketOption,Object) setOption
metodo . I canali socket supportano le opzioni seguenti: <blockquote table class="striped"><didascalia style="display:none><>"Socket options</didascalia<> 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 buffer di invio socket /td><<>></tr tr th scope="row"/><th td> Le dimensioni del buffer <<di ricezione socket /td/<><>tr tr th scope="row">>java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE
<></th td td Keep connection alive </td><></tr tr<>th scope="row<java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR
>">java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF
</th><> td td Re-use address<<> /td<>/tr<><tr><th scope="row"<>java.net.StandardSocketOptions#SO_LINGER SO_LINGER
/th td td Linger on close if data is present (when configur in block mode only) </td/tr<>tr><th scope="row"<java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY
>/<>th<>td>> Disable the Nagle algorithm </td><<>/tr></tbody<>/table></blockquote Opzioni aggiuntive (implementazione> specifica) possono essere supportate anche.
I canali socket sono sicuri per l'uso da più thread simultanei. Supportano la lettura e la scrittura simultanee, anche se al massimo un thread può essere letto e al massimo un thread può essere scritto in qualsiasi momento. I #connect connect
metodi e #finishConnect finishConnect
vengono sincronizzati reciprocamente tra loro e un tentativo di avviare un'operazione di lettura o scrittura mentre una chiamata di uno di questi metodi viene bloccata fino al completamento della chiamata.
Aggiunta nella versione 1.4.
Documentazione Java per java.nio.channels.SocketChannel
.
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
SocketChannel(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
SocketChannel(SelectorProvider) |
Inizializza una nuova istanza della classe. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle all'istanza di Android sottostante. (Ereditato da Object) |
IsBlocking |
Indica se questo canale è in modalità di blocco. (Ereditato da AbstractSelectableChannel) |
IsConnected |
Indica se il socket del canale è connesso. |
IsConnectionPending |
Indica se il socket del canale sta ancora tentando di connettersi. |
IsOpen |
Restituisce true se questo canale è aperto. (Ereditato da AbstractInterruptibleChannel) |
IsRegistered |
Indica se questo canale è registrato con uno o più selettore. (Ereditato da AbstractSelectableChannel) |
JniIdentityHashCode |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
JniPeerMembers |
Canale selezionabile per socket di connessione orientati al flusso. |
LocalAddress |
Canale selezionabile per socket di connessione orientati al flusso. |
PeerReference |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
RemoteAddress |
Canale selezionabile per socket di connessione orientati al flusso. |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Begin() |
Contrassegna l'inizio di un'operazione di I/O che potrebbe bloccare in modo indefinito. (Ereditato da AbstractInterruptibleChannel) |
Bind(SocketAddress) |
Aggiunto in 1. |
BlockingLock() |
Ottiene l'oggetto utilizzato per la sincronizzazione di |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Close() |
Chiude questo canale. (Ereditato da AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Regola la modalità di blocco del canale. (Ereditato da AbstractSelectableChannel) |
Connect(SocketAddress) |
Connette il socket del canale. |
ConnectAsync(SocketAddress) |
Canale selezionabile per socket di connessione orientati al flusso. |
Dispose() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
Dispose(Boolean) |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
End(Boolean) |
Contrassegna la fine di un'operazione di I/O che potrebbe bloccare in modo indefinito. (Ereditato da AbstractInterruptibleChannel) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
FinishConnect() |
Termina il processo di connessione di un canale socket. |
FinishConnectAsync() |
Canale selezionabile per socket di connessione orientati al flusso. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
ImplCloseChannel() |
Chiude questo canale. (Ereditato da AbstractSelectableChannel) |
ImplCloseSelectableChannel() |
Chiude questo canale selezionabile. (Ereditato da AbstractSelectableChannel) |
ImplConfigureBlocking(Boolean) |
Regola la modalità di blocco del canale. (Ereditato da AbstractSelectableChannel) |
JavaFinalize() |
Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto. (Ereditato da Object) |
KeyFor(Selector) |
Ottiene la chiave di selezione del canale per il selettore specificato. (Ereditato da AbstractSelectableChannel) |
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. |
Open(SocketAddress) |
Apre un canale socket e lo connette a un indirizzo remoto. |
Provider() |
Restituisce il provider che ha creato questo canale. (Ereditato da AbstractSelectableChannel) |
Read(ByteBuffer) |
Legge i byte da questo canale socket nel buffer specificato. |
Read(ByteBuffer[]) |
Legge i byte da questo canale socket e li archivia nella matrice specificata di buffer. |
Read(ByteBuffer[], Int32, Int32) |
Legge i byte da questo canale socket in un subset dei buffer specificati. |
Register(Selector, Operations) |
Registra questo canale con il selettore specificato, restituendo una chiave di selezione. (Ereditato da SelectableChannel) |
Register(Selector, Operations, Object) |
Registra questo canale con il selettore specificato, restituendo una chiave di selezione. (Ereditato da AbstractSelectableChannel) |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
SetOption(ISocketOption, Object) |
Aggiunto in 1. |
ShutdownInput() |
Arrestare la connessione per la lettura senza chiudere il canale. |
ShutdownOutput() |
Arrestare la connessione per la scrittura senza chiudere il canale. |
Socket() |
Recupera un socket associato a questo canale. |
ToArray<T>() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
ValidOps() |
Restituisce un set di operazioni che identifica le operazioni supportate del canale. |
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) |
Scrive byte dal buffer di byte specificato a questo canale socket. |
Write(ByteBuffer[]) |
Scrive byte da tutti i buffer di byte specificati in questo canale socket. |
Write(ByteBuffer[], Int32, Int32) |
Tenta di scrivere un subset dei byte specificati dai buffer a questo canale socket. |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Canale selezionabile per socket di connessione orientati al flusso. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Canale selezionabile per 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 selezionabile per socket di connessione orientati al flusso. |
GetJniTypeName(IJavaPeerable) |
Canale selezionabile per socket di connessione orientati al flusso. |
WriteAsync(IGatheringByteChannel, ByteBuffer[]) |
Canale selezionabile per socket di connessione orientati al flusso. |
WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32) |
Canale selezionabile per socket di connessione orientati al flusso. |
ReadAsync(IReadableByteChannel, ByteBuffer) |
Canale selezionabile per socket di connessione orientati al flusso. |
ReadAsync(IScatteringByteChannel, ByteBuffer[]) |
Canale selezionabile per socket di connessione orientati al flusso. |
ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32) |
Canale selezionabile per socket di connessione orientati al flusso. |
WriteAsync(IWritableByteChannel, ByteBuffer) |
Canale selezionabile per socket di connessione orientati al flusso. |