AsynchronousServerSocketChannel 类

定义

面向流的侦听套接字的异步通道。

[Android.Runtime.Register("java/nio/channels/AsynchronousServerSocketChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousServerSocketChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IAsynchronousChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousServerSocketChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousServerSocketChannel = class
    inherit Object
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
AsynchronousServerSocketChannel
属性
实现

注解

面向流的侦听套接字的异步通道。

通过调用 #open open 此类的方法创建异步服务器套接字通道。 新创建的异步服务器套接字通道已打开,但尚未绑定。 它可以绑定到本地地址,并配置为通过调用 #bind(SocketAddress,int) bind 方法侦听连接。 绑定后, #accept(Object,CompletionHandler) accept 该方法用于启动对通道套接字的连接接受。 尝试在未绑定的通道上调用 accept 该方法将导致 NotYetBoundException 引发。

此类型的通道可以安全地供多个并发线程使用,但最多一个接受操作随时可能未完成。 如果线程在上一个接受操作完成之前启动接受操作,则会引发一个 AcceptPendingException 接受操作。

套接字选项是使用 #setOption(SocketOption,Object) setOption 该方法配置的。 此类型的通道支持以下选项:<blockquote<>table class=“striped”><caption style=“display:none”>Socket options</caption><thead<>tr><th scope=“col”>Option Name</th<>scope=“col”>Description</th></tr<>/thead><tbody><tr><th scope=“row”<java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF>/th><td> 套接字接收缓冲区的大小</td><还可以支持 /tr><th><scope=“row”>java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR</th<>td> Re-use address </td<>/tr></tbody<>/table></blockquote> Additional (特定于实现)选项。

<b>用法示例:</b>

final AsynchronousServerSocketChannel listener =
                 AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(5000));

             listener.accept(null, new CompletionHandler&lt;AsynchronousSocketChannel,Void&gt;() {
                 public void completed(AsynchronousSocketChannel ch, Void att) {
                     // accept the next connection
                     listener.accept(null, this);

                     // handle this connection
                     handle(ch);
                 }
                 public void failed(Throwable exc, Void att) {
                     ...
                 }
             });

已在 1.7 中添加。

Java文档java.nio.channels.AsynchronousServerSocketChannel

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

构造函数

名称 说明
AsynchronousServerSocketChannel(AsynchronousChannelProvider)

初始化此类的新实例。

AsynchronousServerSocketChannel(IntPtr, JniHandleOwnership)

面向流的侦听套接字的异步通道。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsOpen

面向流的侦听套接字的异步通道。

JniIdentityHashCode

面向流的侦听套接字的异步通道。

(继承自 Object)
JniPeerMembers

面向流的侦听套接字的异步通道。

LocalAddress

面向流的侦听套接字的异步通道。

PeerReference

面向流的侦听套接字的异步通道。

(继承自 Object)
ThresholdClass

面向流的侦听套接字的异步通道。

ThresholdType

面向流的侦听套接字的异步通道。

方法

名称 说明
Accept()

接受连接。

Accept(Object, ICompletionHandler)

接受连接。

Bind(SocketAddress, Int32)

将通道的套接字绑定到本地地址,并将套接字配置为侦听连接。

Bind(SocketAddress)

将通道的套接字绑定到本地地址,并将套接字配置为侦听连接。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

关闭此通道。

Dispose()

面向流的侦听套接字的异步通道。

(继承自 Object)
Dispose(Boolean)

面向流的侦听套接字的异步通道。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Open()

打开异步服务器套接字通道。

Open(AsynchronousChannelGroup)

打开异步服务器套接字通道。

Provider()

返回创建此通道的提供程序。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetOption(ISocketOption, Object)

面向流的侦听套接字的异步通道。

ToArray<T>()

面向流的侦听套接字的异步通道。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

面向流的侦听套接字的异步通道。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.Finalized()

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

面向流的侦听套接字的异步通道。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

面向流的侦听套接字的异步通道。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

面向流的侦听套接字的异步通道。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于