你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Java ServerSocketChannel虚拟类

2021/12/18 10:21:47

总结

  1. ServerSocketChannel虚拟类是面向流的侦听套接字的多路复用通道
  2. ServerSocketChannel服务器套接字通道是通过调用此类的open()方法创建的,无法为任意预先存在的ServerSocket创建通道
  3. 新创建的服务器套接字通道已打开,但尚未绑定, 试图调用未绑定服务器套接字通道的accept()方法将导致抛出NotYetBoundException
  4. 可以通过调用此类定义的bind()方法之一来绑定服务器套接字通道

ServerSocketChannel虚拟类方法

方法名作用
static ServerSocketChannel open()打开服务器套接字通道
final int validOps()返回标识此通道支持的操作的操作集, 如接收连接操作
final ServerSocketChannel bind(SocketAddress local)将通道的套接字绑定到本地地址,并将套接字配置为侦听连接
abstract ServerSocketChannel bind(SocketAddress local, int backlog)上面一个函数会调用该函数将通道的套接字绑定到本地地址,backlog参数是套接字上挂起的最大连接数,如果backlog为0,则使用操作系统的默认值。挂起的连接指的是排队等待accept()接收并创建SocketChannel的连接请求
abstract ServerSocketChannel setOption(SocketOption name, T value)设置通道套接字选项,具体选项看StandardSocketOptions类
abstract SocketChannel accept()接受想与此通道套接字连接的连接请求,如果此通道处于非阻塞模式,且没有挂起的连接, 此方法将立即返回null,否则它将无限期阻塞,直到新连接可用或发生I/O错误。此方法返回的套接字通道(如果有)将处于阻塞模式,而与此通道的阻塞模式无关
abstract SocketAddress getLocalAddress()获取本地套接字地址