SocketChannel Classe

Définition

Canal sélectionnable pour les sockets de connexion orientés flux.

[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
Héritage
Attributs
Implémente

Remarques

Canal sélectionnable pour les sockets de connexion orientés flux.

Un canal de socket est créé en appelant l’une #open open des méthodes de cette classe. Il n’est pas possible de créer un canal pour un socket arbitraire et préexistant. Un canal de socket nouvellement créé est ouvert, mais pas encore connecté. Une tentative d’appel d’une opération d’E/S sur un canal non connecté entraîne la levée d’une NotYetConnectedException opération d’E/S. Un canal de socket peut être connecté en appelant sa #connect connect méthode ; une fois connecté, un canal de socket reste connecté jusqu’à ce qu’il soit fermé. Si un canal de socket est connecté ou non, peut être déterminé en appelant sa #isConnected isConnected méthode.

Les canaux de socket prennent en charge la connexion non bloquante :  ; Un canal de socket peut être créé et le processus d’établissement du lien vers le socket distant peut être initié par le biais de la #connect connect méthode pour la fin ultérieure de la #finishConnect finishConnect méthode. Indique si une opération de connexion est en cours peut être déterminée en appelant la #isConnectionPending isConnectionPending méthode.

Les canaux de socket prennent en charge l’arrêt asynchrone, qui est similaire à l’opération de fermeture asynchrone spécifiée dans la Channel classe. Si le côté d’entrée d’un socket est arrêté par un thread tandis qu’un autre thread est bloqué dans une opération de lecture sur le canal du socket, l’opération de lecture dans le thread bloqué se termine sans lire d’octets et retourne -1. Si le côté sortie d’un socket est arrêté par un thread tandis qu’un autre thread est bloqué dans une opération d’écriture sur le canal du socket, le thread bloqué reçoit un AsynchronousCloseException.

Les options de socket sont configurées à l’aide de la #setOption(SocketOption,Object) setOption méthode. Les canaux de socket prennent en charge les options suivantes : <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> La taille de la mémoire tampon <d’envoi du socket /td></tr tr>><<th scope="row"<java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF>/th<>td> La taille du tampon <de réception du 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<<>>th scope="row">java.net.StandardSocketOptions#SO_LINGER SO_LINGER</th><td> Linger à fermer si les données sont présentes (lorsqu’elles sont configurées en mode bloquant uniquement) </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 (specific implementation specific) options peuvent également être prises en charge.

Les canaux de socket sont sécurisés pour une utilisation par plusieurs threads simultanés. Ils prennent en charge la lecture et l’écriture simultanées, bien qu’au plus un thread puisse être lu et au plus un thread peut écrire à tout moment. Les #connect connect méthodes et #finishConnect finishConnect les méthodes sont synchronisées mutuellement entre elles, et une tentative de lancer une opération de lecture ou d’écriture pendant qu’un appel de l’une de ces méthodes est en cours bloque jusqu’à ce que cet appel soit terminé.

Ajouté dans la version 1.4.

Documentation Java pour java.nio.channels.SocketChannel.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
SocketChannel(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

SocketChannel(SelectorProvider)

Initialise une nouvelle instance de cette classe.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsBlocking

Indique si ce canal est en mode bloquant.

(Hérité de AbstractSelectableChannel)
IsConnected

Indique si le socket de ce canal est connecté.

IsConnectionPending

Indique si le socket de ce canal tente toujours de se connecter.

IsOpen

Retourne true si ce canal est ouvert.

(Hérité de AbstractInterruptibleChannel)
IsRegistered

Indique si ce canal est inscrit avec un ou plusieurs sélecteurs.

(Hérité de AbstractSelectableChannel)
JniIdentityHashCode

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
JniPeerMembers

Canal sélectionnable pour les sockets de connexion orientés flux.

LocalAddress

Canal sélectionnable pour les sockets de connexion orientés flux.

PeerReference

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
RemoteAddress

Canal sélectionnable pour les sockets de connexion orientés flux.

ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Begin()

Marque le début d’une opération d’E/S susceptible de bloquer indéfiniment.

(Hérité de AbstractInterruptibleChannel)
Bind(SocketAddress)

Ajouté dans 1.

BlockingLock()

Obtient l’objet utilisé pour la synchronisation de register et configureBlocking.

(Hérité de AbstractSelectableChannel)
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Ferme ce canal.

(Hérité de AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

Ajuste le mode de blocage de ce canal.

(Hérité de AbstractSelectableChannel)
Connect(SocketAddress)

Connecte le socket de ce canal.

ConnectAsync(SocketAddress)

Canal sélectionnable pour les sockets de connexion orientés flux.

Dispose()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
Dispose(Boolean)

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
End(Boolean)

Marque la fin d’une opération d’E/S susceptible de bloquer indéfiniment.

(Hérité de AbstractInterruptibleChannel)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
FinishConnect()

Termine le processus de connexion d’un canal de socket.

FinishConnectAsync()

Canal sélectionnable pour les sockets de connexion orientés flux.

GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
ImplCloseChannel()

Ferme ce canal.

(Hérité de AbstractSelectableChannel)
ImplCloseSelectableChannel()

Ferme ce canal sélectionnable.

(Hérité de AbstractSelectableChannel)
ImplConfigureBlocking(Boolean)

Ajuste le mode de blocage de ce canal.

(Hérité de AbstractSelectableChannel)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
KeyFor(Selector)

Obtient la clé de sélection de ce canal pour le sélecteur spécifié.

(Hérité de AbstractSelectableChannel)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Open()

Ouvre un canal de socket.

Open(SocketAddress)

Ouvre un canal de socket et le connecte à une adresse distante.

Provider()

Retourne le fournisseur qui a créé ce canal.

(Hérité de AbstractSelectableChannel)
Read(ByteBuffer)

Lit les octets de ce canal de socket dans la mémoire tampon donnée.

Read(ByteBuffer[], Int32, Int32)

Lit les octets de ce canal de socket dans un sous-ensemble des mémoires tampons données.

Read(ByteBuffer[])

Lit les octets de ce canal de socket et les stocke dans le tableau de mémoires tampons spécifié.

Register(Selector, Operations, Object)

Inscrit ce canal auprès du sélecteur donné, en retournant une clé de sélection.

(Hérité de AbstractSelectableChannel)
Register(Selector, Operations)

Inscrit ce canal auprès du sélecteur donné, en retournant une clé de sélection.

(Hérité de SelectableChannel)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetOption(ISocketOption, Object)

Ajouté dans 1.

ShutdownInput()

Arrêtez la connexion pour la lecture sans fermer le canal.

ShutdownOutput()

Arrêtez la connexion pour l’écriture sans fermer le canal.

Socket()

Récupère un socket associé à ce canal.

ToArray<T>()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
ValidOps()

Retourne un jeu d’opérations identifiant les opérations prises en charge par ce canal.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Write(ByteBuffer)

Écrit des octets de la mémoire tampon d’octets donnée dans ce canal de socket.

Write(ByteBuffer[], Int32, Int32)

Tente d’écrire un sous-ensemble des octets donnés des mémoires tampons sur ce canal de socket.

Write(ByteBuffer[])

Écrit des octets de tous les tampons d’octets donnés dans ce canal de socket.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.Finalized()

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canal sélectionnable pour les sockets de connexion orientés flux.

(Hérité de Object)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Canal sélectionnable pour les sockets de connexion orientés flux.

ReadAsync(IReadableByteChannel, ByteBuffer)

Canal sélectionnable pour les sockets de connexion orientés flux.

ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32)

Canal sélectionnable pour les sockets de connexion orientés flux.

ReadAsync(IScatteringByteChannel, ByteBuffer[])

Canal sélectionnable pour les sockets de connexion orientés flux.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32)

Canal sélectionnable pour les sockets de connexion orientés flux.

WriteAsync(IGatheringByteChannel, ByteBuffer[])

Canal sélectionnable pour les sockets de connexion orientés flux.

WriteAsync(IWritableByteChannel, ByteBuffer)

Canal sélectionnable pour les sockets de connexion orientés flux.

S’applique à