ServerSocketChannel API用法

时间:2022-04-18 05:46:21

java.nio.channels
类 ServerSocketChannel
java.lang.Object java.nio.channels.spi.AbstractInterruptibleChannel java.nio.channels.SelectableChannel java.nio.channels.spi.AbstractSelectableChannel java.nio.channels.ServerSocketChannel 所有已实现的接口:   Closeable, Channel, InterruptibleChannel  
public abstract class ServerSocketChannelextends AbstractSelectableChannel

针对面向流的侦听套接字的可选择通道。

服务器套接字通道不是侦听网络套接字的完整抽象。必须通过调用 socket 方法所获得的关联 ServerSocket 对象来完成对套接字选项的绑定和操作。不可能为任意的已有服务器套接字创建通道,也不可能指定与服务器套接字通道关联的服务器套接字所使用的 SocketImpl 对象。

通过调用此类的 open 方法创建服务器套接字通道。新创建的服务器套接字通道已打开,,但尚未绑定。试图调用未绑定的服务器套接字通道的 accept 方法会导致抛出 NotYetBoundException。可通过调用相关服务器套接字的某个 bind 方法来绑定服务器套接字通道。

多个并发线程可安全地使用服务器套接字通道。

从以下版本开始:   1.4  
构造方法摘要
protected   ServerSocketChannel(SelectorProvider provider)           初始化此类的一个新实例。  

 

方法摘要
abstract  SocketChannel   accept()           接受到此通道套接字的连接。  
static ServerSocketChannel   open()           打开服务器套接字通道。  
abstract  ServerSocket   socket()           获取与此通道关联的服务器套接字。  
 int   validOps()           返回一个操作集,标识此通道所支持的操作。  

 

从类 java.nio.channels.spi.AbstractSelectableChannel 继承的方法
blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register  

 

从类 java.nio.channels.SelectableChannel 继承的方法
register  

 

从类 java.nio.channels.spi.AbstractInterruptibleChannel 继承的方法
begin, close, end, isOpen  

 

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait  

 

从接口 java.nio.channels.Channel 继承的方法
close, isOpen  

 

构造方法详细信息
ServerSocketChannel protected ServerSocketChannel(SelectorProvider provider) 初始化此类的一个新实例。  
方法详细信息
open public static ServerSocketChannel open() throws IOException 打开服务器套接字通道。

通过调用系统级默认 SelectorProvider 对象的 openServerSocketChannel 方法来创建新的通道。

新通道的套接字最初是未绑定的;可以接受连接之前,必须通过它的某个套接字的 bind 方法将其绑定到具体的地址。

  返回:   新的套接字通道   抛出:   IOException - 如果发生 I/O 错误  
 
validOps public final int validOps() 返回一个操作集,标识此通道所支持的操作。