AsynchronousSocketChannel Clase

Definición

Un canal asincrónico para sockets de conexión orientados a flujos.

[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
Herencia
AsynchronousSocketChannel
Atributos
Implementaciones

Comentarios

Un canal asincrónico para sockets de conexión orientados a flujos.

Los canales de socket asincrónicos se crean de dos maneras. Se crea un objeto recién creado AsynchronousSocketChannel invocando uno de los #open open métodos definidos por esta clase. Un canal recién creado está abierto, pero aún no está conectado. Se crea una conexión AsynchronousSocketChannel cuando se realiza una conexión al socket de .AsynchronousServerSocketChannel No es posible crear un canal de socket asincrónico para un elemento arbitrario y preexistente java.net.Socket socket.

Un canal recién creado se conecta invocando su #connect connect método; una vez conectado, un canal permanece conectado hasta que se cierra. Si un canal de socket está conectado o no puede determinarse invocando su #getRemoteAddress getRemoteAddress método. Un intento de invocar una operación de E/S en un canal no conectado hará que se produzca una NotYetConnectedException excepción .

Los canales de este tipo son seguros para su uso por varios subprocesos simultáneos. Admiten la lectura y escritura simultáneas, aunque, como máximo, una operación de lectura y una operación de escritura pueden estar pendientes en cualquier momento. Si un subproceso inicia una operación de lectura antes de que se haya completado una operación de lectura anterior, se producirá una ReadPendingException excepción . Del mismo modo, un intento de iniciar una operación de escritura antes de que se haya completado una escritura anterior producirá un WritePendingException.

Las opciones de socket se configuran mediante el #setOption(SocketOption,Object) setOption método . Los canales de socket asincrónicos admiten las siguientes opciones: <blockquote<>table class="striped"><subtítulo style="display:none">Socket options</subtítulo<> 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> El tamaño del búfer <de envío de socket /td<>/tr tr><<>th scope="row">java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF</th<>td> El tamaño del búfer <de recepción del socket /td<>/tr tr<>><th scope="row">java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE</th><td> Keep connection alive </td></tr tr tr><><th scope="row"<java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR>/th><td> Re-use address </Td><También se pueden admitir las opciones /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).

<h2>Timeouts</h2>

Los #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read métodos y #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write definidos por esta clase permiten especificar un tiempo de espera al iniciar una operación de lectura o escritura. Si el tiempo de espera transcurre antes de que se complete una operación, la operación se completa con la excepción InterruptedByTimeoutException. Un tiempo de espera puede dejar el canal o la conexión subyacente en un estado incoherente. Cuando la implementación no puede garantizar que los bytes no se hayan leído desde el canal, el canal se coloca en un estado de error específico de <>la implementación/em>.< Un intento posterior de iniciar una read operación hace que se inicie una excepción en tiempo de ejecución no especificada. Del mismo modo, si se agota el tiempo de espera de una write operación y la implementación no puede garantizar que no se hayan escrito bytes en el canal, se producirá write una excepción en tiempo de ejecución no especificada. Cuando transcurre un tiempo de espera, no se define el estado de ByteBuffer, o la secuencia de búferes, para la operación de E/S. Los búferes deben descartarse o, al menos, tener cuidado para asegurarse de que no se tiene acceso a los búferes mientras el canal permanece abierto. Todos los métodos que aceptan parámetros de tiempo de espera tratan los valores menores o iguales que cero para significar que la operación de E/S no ha agotado el tiempo de espera.

Se agregó en la versión 1.7.

Documentación de Java para java.nio.channels.AsynchronousSocketChannel.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Constructores

AsynchronousSocketChannel(AsynchronousChannelProvider)

Inicializa una nueva instancia de esta clase.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

Un canal asincrónico para sockets de conexión orientados a flujos.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsOpen

Un canal asincrónico para sockets de conexión orientados a flujos.

JniIdentityHashCode

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
JniPeerMembers

Un canal asincrónico para sockets de conexión orientados a flujos.

LocalAddress

Un canal asincrónico para sockets de conexión orientados a flujos.

PeerReference

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
RemoteAddress

Un canal asincrónico para sockets de conexión orientados a flujos.

ThresholdClass

Un canal asincrónico para sockets de conexión orientados a flujos.

ThresholdType

Un canal asincrónico para sockets de conexión orientados a flujos.

Métodos

Bind(SocketAddress)

Un canal asincrónico para sockets de conexión orientados a flujos.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Close()

Cierra este canal.

Connect(SocketAddress)

Conecta este canal.

Connect(SocketAddress, Object, ICompletionHandler)

Conecta este canal.

Dispose()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
Dispose(Boolean)

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Llamado por el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto.

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Open()

Abre un canal de socket asincrónico.

Open(AsynchronousChannelGroup)

Abre un canal de socket asincrónico.

Provider()

Devuelve el proveedor que creó este canal.

Read(ByteBuffer)

Un canal asincrónico para sockets de conexión orientados a flujos.

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

Lee una secuencia de bytes de este canal en el búfer especificado.

Read(ByteBuffer, Object, ICompletionHandler)

Un canal asincrónico para sockets de conexión orientados a flujos.

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

Lee una secuencia de bytes de este canal en una subsecuencia de los búferes especificados.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetOption(ISocketOption, Object)

Un canal asincrónico para sockets de conexión orientados a flujos.

ShutdownInput()

Cierre la conexión para leer sin cerrar el canal.

ShutdownOutput()

Cierre la conexión para escribir sin cerrar el canal.

ToArray<T>()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Write(ByteBuffer)

Un canal asincrónico para sockets de conexión orientados a flujos.

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

Escribe una secuencia de bytes en este canal desde el búfer especificado.

Write(ByteBuffer, Object, ICompletionHandler)

Un canal asincrónico para sockets de conexión orientados a flujos.

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

Escribe una secuencia de bytes en este canal desde una subsecuencia de los búferes especificados.

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.Finalized()

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un canal asincrónico para sockets de conexión orientados a flujos.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un canal asincrónico para sockets de conexión orientados a flujos.

GetJniTypeName(IJavaPeerable)

Un canal asincrónico para sockets de conexión orientados a flujos.

Se aplica a