Partager via


AsynchronousSocketChannel Classe

Définition

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

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

Remarques

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

Les canaux de socket asynchrone sont créés de deux façons. Une nouvelle création AsynchronousSocketChannel est créée en appelant l’une des #open open méthodes définies par cette classe. Un canal nouvellement créé est ouvert, mais pas encore connecté. Une connexion AsynchronousSocketChannel est créée lorsqu’une connexion est établie au socket d’un AsynchronousServerSocketChannel. Il n’est pas possible de créer un canal de socket asynchrone pour un canal arbitraire, préexistant java.net.Socket socket.

Un canal nouvellement créé est connecté en appelant sa #connect connect méthode ; une fois connecté, un canal reste connecté jusqu’à ce qu’il soit fermé. Si un canal de socket est connecté ou non, peut être déterminé en appelant sa #getRemoteAddress getRemoteAddress méthode. 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.

Les canaux de ce type 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 une opération de lecture et une opération d’écriture puisse être en attente à tout moment. Si un thread lance une opération de lecture avant l’achèvement d’une opération de lecture précédente, une ReadPendingException opération sera levée. De même, une tentative d’initialisation d’une opération d’écriture avant la fin d’une écriture précédente lève un WritePendingException.

Les options de socket sont configurées à l’aide de la #setOption(SocketOption,Object) setOption méthode. Les canaux de socket asynchrones 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 l’envoi du socket buffer </td></tr tr>><<th scope="row"<java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF>/th><td> La taille de la mémoire 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 tr<>><th scope="row »>java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY</th<>td> Désactiver l’algorithme <Nagle /td></tr></tbody></table></blockquote> Options supplémentaires (spécifiques à l’implémentation) peuvent également être prises en charge.

<délai d’attente< h2>/h2>

Les #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read méthodes définies #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write par cette classe permettent de spécifier un délai d’expiration lors du lancement d’une opération de lecture ou d’écriture. Si le délai d’expiration s’écoule avant la fin d’une opération, l’opération se termine avec l’exception InterruptedByTimeoutException. Un délai d’expiration peut quitter le canal, ou la connexion sous-jacente, dans un état incohérent. Lorsque l’implémentation ne peut pas garantir que les octets n’ont pas été lus à partir du canal, il place le canal dans un état< d’erreur em>spécifique <à l’implémentation/ em>. Une tentative ultérieure de lancement d’une read opération entraîne la levée d’une exception d’exécution non spécifiée. De même, si une write opération expire et que l’implémentation ne peut pas garantir que les octets n’ont pas été écrits dans le canal, d’autres tentatives vers write le canal entraînent la levée d’une exception d’exécution non spécifiée. Lorsqu’un délai d’expiration s’écoule, l’état du ByteBuffertampon ou la séquence de mémoires tampons n’est pas défini pour l’opération d’E/S. Les mémoires tampons doivent être ignorées ou au moins attention doivent être prises pour s’assurer que les mémoires tampons ne sont pas accessibles pendant que le canal reste ouvert. Toutes les méthodes qui acceptent les paramètres de délai d’attente traitent les valeurs inférieures ou égales à zéro pour signifier que l’opération d’E/S ne expire pas.

Ajouté dans la version 1.7.

Documentation Java pour java.nio.channels.AsynchronousSocketChannel.

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

Constructeurs

AsynchronousSocketChannel(AsynchronousChannelProvider)

Initialise une nouvelle instance de cette classe.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

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

Propriétés

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsOpen

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

JniIdentityHashCode

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

(Hérité de Object)
JniPeerMembers

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

LocalAddress

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

PeerReference

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

(Hérité de Object)
RemoteAddress

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

ThresholdClass

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

ThresholdType

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

Méthodes

Bind(SocketAddress)

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

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Ferme ce canal.

Connect(SocketAddress, Object, ICompletionHandler)

Connecte ce canal.

Connect(SocketAddress)

Connecte ce canal.

Dispose()

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

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

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

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

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

(Hérité de Object)
GetHashCode()

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

(Hérité de Object)
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)
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 asynchrone.

Open(AsynchronousChannelGroup)

Ouvre un canal de socket asynchrone.

Provider()

Retourne le fournisseur qui a créé ce canal.

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

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

Read(ByteBuffer, Object, ICompletionHandler)

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

Read(ByteBuffer)

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

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

Lit une séquence d’octets de ce canal dans une sous-séquence des mémoires tampons données.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

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

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

ShutdownInput()

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

ShutdownOutput()

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

ToArray<T>()

Canal asynchrone 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 asynchrone pour les sockets de connexion orientés flux.

(Hérité de Object)
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, Int64, TimeUnit, Object, ICompletionHandler)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

Write(ByteBuffer, Object, ICompletionHandler)

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

Write(ByteBuffer)

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

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

Écrit une séquence d’octets dans ce canal à partir d’une sous-séquence des mémoires tampons données.

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

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

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

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

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

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

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

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

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

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

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

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

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

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

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

S’applique à