AsynchronousServerSocketChannel 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
面向流的侦听套接字的异步通道。
[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
- 继承
- 属性
- 实现
注解
面向流的侦听套接字的异步通道。
通过调用 #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<AsynchronousSocketChannel,Void>() {
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 |
返回此 |
| 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) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
面向流的侦听套接字的异步通道。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |