Freigeben über


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 eine von zwei Arten erstellt. Ein neu erstelltes AsynchronousSocketChannel Element wird durch Aufrufen einer der #open open von dieser Klasse definierten Methoden erstellt. Ein neu erstellter Kanal ist geöffnet, aber noch nicht verbunden. Eine Verbindung AsynchronousSocketChannel wird erstellt, wenn eine Verbindung mit dem Socket eines AsynchronousServerSocketChannel. Es ist nicht möglich, einen asynchronen Socketkanal für einen beliebigen, bereits vorhandenen java.net.Socket socketSocketkanal zu erstellen.

Ein neu erstellter Kanal wird durch Aufrufen seiner #connect connect Methode verbunden. Sobald eine Verbindung hergestellt wurde, bleibt ein Kanal verbunden, bis er geschlossen ist. Gibt an, ob ein Socketkanal verbunden ist, kann durch aufrufende #getRemoteAddress getRemoteAddress Methode bestimmt werden. Ein Versuch, einen E/A-Vorgang bei einem nicht verbundenen Kanal aufzurufen, führt dazu, dass ein NotYetConnectedException Fehler ausgelöst wird.

Kanäle dieses Typs sind sicher für die Verwendung durch mehrere gleichzeitige Threads. Sie unterstützen gleichzeitiges Lesen und Schreiben, obwohl höchstens ein Lesevorgang und ein Schreibvorgang jederzeit ausstehen können. Wenn ein Thread einen Lesevorgang initiiert, bevor ein vorheriger Lesevorgang abgeschlossen wurde, wird ein ReadPendingException Fehler ausgelöst. Ebenso löst ein Versuch, einen Schreibvorgang zu initiieren, bevor ein vorheriger Schreibvorgang abgeschlossen wurde.WritePendingException

Socketoptionen werden mithilfe der #setOption(SocketOption,Object) setOption Methode konfiguriert. Asynchrone Socketkanäle unterstützen die folgenden Optionen: <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> Die Größe des Sockets senden 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<><>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 tr<>><th scope="row">java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY</th><td> Disable the Nagle algorithm </td<>/tr></tbody></table></blockquote> Additional (implementation specific) options may be supported.

<h2>Timeouts</h2>

#write(ByteBuffer,long,TimeUnit,Object,CompletionHandler) write Mit #read(ByteBuffer,long,TimeUnit,Object,CompletionHandler) read den von dieser Klasse definierten Methoden kann beim Initiieren eines Lese- oder Schreibvorgangs ein Timeout angegeben werden. Wenn das Timeout vor Abschluss eines Vorgangs verstrichen ist, wird der Vorgang mit der Ausnahme InterruptedByTimeoutExceptionabgeschlossen. Ein Timeout kann den Kanal oder die zugrunde liegende Verbindung in einem inkonsistenten Zustand verlassen. Wenn die Implementierung nicht garantieren kann, dass Bytes nicht aus dem Kanal gelesen wurden, wird der Kanal in einen implementierungsspezifischen <Em-Fehlerstatus></em> versetzt. Ein anschließender Versuch, einen read Vorgang zu initiieren, bewirkt, dass eine nicht angegebene Laufzeitausnahme ausgelöst wird. Wenn ein write Vorgang zu einem Timeout führt und die Implementierung nicht garantieren kann, dass Bytes nicht in den Kanal geschrieben wurden, führen weitere Versuche in write den Kanal, dass eine nicht angegebene Laufzeitausnahme ausgelöst wird. Wenn ein Timeout verstrichen ist, wird der Zustand des ByteBufferE/A-Vorgangs für den E/A-Vorgang nicht definiert. Puffer sollten verworfen werden, oder es muss mindestens 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 Null, um zu bedeuten, dass der E/A-Vorgang kein Timeout ausführt.

In 1.7 hinzugefügt.

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

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 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 Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(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 "gleich" diesem Objekt 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 bestimmt, dass keine weiteren Verweise 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 Abfolge von Bytes 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 Abfolge von Bytes aus diesem Kanal in eine Untermenge 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()

Herunterfahren der Verbindung zum Lesen, ohne den Kanal zu schließen.

ShutdownOutput()

Herunterfahren der 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 wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</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 Folge von Bytes 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 Folge von Bytes aus einer Untermenge 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 android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

GetJniTypeName(IJavaPeerable)

Ein asynchroner Kanal für streamorientierte Verbindungssockets.

Gilt für: