AsynchronousSocketChannel Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 ByteBuffer
tampon 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 |
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. |