AsynchronousSocketChannel Klasse

Definition

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

[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
Vererbung
AsynchronousSocketChannel
Attribute
Implementiert

Hinweise

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Asynchrone Socketkanäle werden auf zwei Arten erstellt. Ein neu erstelltes AsynchronousSocketChannel wird erstellt, indem eine der #open open von dieser Klasse definierten Methoden aufgerufen wird. Ein neu erstellter Kanal ist geöffnet, aber noch nicht verbunden. Ein verbundener AsynchronousSocketChannel wird erstellt, wenn eine Verbindung mit dem Socket eines AsynchronousServerSocketChannelhergestellt wird. Es ist nicht möglich, einen asynchronen Socketkanal für ein beliebiges, bereits vorhandenes java.net.Socket socketzu erstellen.

Ein neu erstellter Kanal wird durch Aufrufen seiner #connect connect Methode verbunden. Nach der Verbindung bleibt ein Kanal verbunden, bis er geschlossen wird. Ob ein Socketkanal verbunden ist, kann durch Aufrufen der Methode #getRemoteAddress getRemoteAddress bestimmt werden. Ein Versuch, einen E/A-Vorgang für einen nicht verbundenen Kanal aufzurufen, führt dazu, dass ein NotYetConnectedException ausgelöst wird.

Kanäle dieses Typs sind für die Verwendung durch mehrere gleichzeitige Threads sicher. Sie unterstützen das gleichzeitige Lesen und Schreiben, obwohl maximal ein Lese- und ein Schreibvorgang jederzeit ausstehend sein kann. Wenn ein Thread einen Lesevorgang initiiert, bevor ein vorheriger Lesevorgang abgeschlossen wurde, wird ein ReadPendingException ausgelöst. Auf ähnliche Weise löst ein Versuch, einen Schreibvorgang zu initiieren, aus, bevor ein vorheriger Schreibvorgang abgeschlossen wurde WritePendingException.

Socketoptionen werden mit der #setOption(SocketOption,Object) setOption -Methode konfiguriert. Asynchrone Socketkanäle unterstützen die folgenden Optionen: <blockquote<>table class="striped"><Untertitel style="display:none">Socket options</Untertitel>< 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> The size of the socket send buffer </td></tr><<>tr th scope="row"java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF<>/th><td> The size of the socket receive buffer </td></tr><tr<>tr th scope="row"java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE></th><td> Verbindung am Leben erhalten </td></tr><tr><th scope="row"<java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR>/th><td Wiederverwendung> address </td></tr><tr><th scope="row"java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY></th><td> Deaktivieren des Nagle-Algorithmus </td<>/tr></tbody<>/table></blockquote> Zusätzliche (implementierungsspezifische) Optionen können ebenfalls unterstützt werden.

<h2>Timeouts</h2>

Die #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read von dieser Klasse definierten Methoden und #write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write ermöglichen die Angabe eines Timeouts beim Initiieren eines Lese- oder Schreibvorgangs. Wenn das Timeout verstrichen ist, bevor ein Vorgang abgeschlossen wird, wird der Vorgang mit der Ausnahme InterruptedByTimeoutExceptionabgeschlossen. Ein Timeout kann den Kanal oder die zugrunde liegende Verbindung in einem inkonsistenten Zustand zurücklassen. Wenn die Implementierung nicht garantieren kann, dass Bytes nicht aus dem Kanal gelesen wurden, versetzt sie den Kanal in einen implementierungsspezifischen <em-Fehlerzustand></em>. Ein nachfolgender Versuch, einen read Vorgang zu initiieren, führt dazu, dass eine nicht angegebene Laufzeitausnahme ausgelöst wird. Wenn bei einem Vorgang ein write Timeout auftritt und die Implementierung nicht garantieren kann, dass Bytes nicht in den Kanal geschrieben wurden, führen weitere Versuche write , den Kanal zu verwenden, dazu, dass eine nicht angegebene Laufzeitausnahme ausgelöst wird. Wenn ein Timeout verstrichen ist, wird der Zustand des ByteBuffer- oder der Puffersequenz für den E/A-Vorgang nicht definiert. Puffer sollten verworfen werden, oder es muss zumindest darauf geachtet werden, dass auf die Puffer nicht zugegriffen wird, während der Kanal geöffnet bleibt. Alle Methoden, die Timeoutparameter akzeptieren, behandeln Werte kleiner oder gleich 0, sodass der E/A-Vorgang kein Timeout ausführt.

In Version 1.7 hinzugefügt.

Java-Dokumentation für java.nio.channels.AsynchronousSocketChannel.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

AsynchronousSocketChannel(AsynchronousChannelProvider)

Initialisiert eine neue Instanz dieser Klasse.

AsynchronousSocketChannel(IntPtr, JniHandleOwnership)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
IsOpen

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

JniIdentityHashCode

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
JniPeerMembers

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

LocalAddress

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

PeerReference

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
RemoteAddress

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

ThresholdClass

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

ThresholdType

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Methoden

Bind(SocketAddress)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Close()

Schließt diesen Kanal.

Connect(SocketAddress)

Verbindet diesen Kanal.

Connect(SocketAddress, Object, ICompletionHandler)

Verbindet diesen Kanal.

Dispose()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
Dispose(Boolean)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Open()

Öffnet einen asynchronen Socketkanal.

Open(AsynchronousChannelGroup)

Öffnet einen asynchronen Socketkanal.

Provider()

Gibt den Anbieter zurück, der diesen Kanal erstellt hat.

Read(ByteBuffer)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

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

Liest eine Bytesequenz aus diesem Kanal in den angegebenen Puffer.

Read(ByteBuffer, Object, ICompletionHandler)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

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

Liest eine Bytesequenz aus diesem Kanal in eine Untersequenz der angegebenen Puffer.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetOption(ISocketOption, Object)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

ShutdownInput()

Beenden Sie die Verbindung zum Lesen, ohne den Kanal zu schließen.

ShutdownOutput()

Beenden Sie die Verbindung zum Schreiben, ohne den Kanal zu schließen.

ToArray<T>()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Write(ByteBuffer)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

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

Schreibt eine Bytesequenz aus dem angegebenen Puffer in diesen Kanal.

Write(ByteBuffer, Object, ICompletionHandler)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

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

Schreibt eine Bytesequenz aus einer Untersequise der angegebenen Puffer in diesen Kanal.

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.Finalized()

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

GetJniTypeName(IJavaPeerable)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Gilt für: