Module  java.base
软件包  javax.net

Class ServerSocketFactory

  • 已知直接子类:
    SSLServerSocketFactory


    public abstract class ServerSocketFactory
    extends Object
    此类创建服务器套接字。 它可能由其他工厂进行子类化,这些工厂创建特定类型的服务器套接字。 这为添加公共套接字级功能提供了一个通用框架。 它是套接字工厂的服务器端模拟,同样提供了一种捕获与正在构建的套接字有关的各种策略的方法。

    像套接字工厂一样,服务器Socket工厂实例有用于创建套接字的方法。 还有一个环境特定的默认服务器套接字工厂; 框架通常会使用自己的定制工厂。

    从以下版本开始:
    1.4
    另请参见:
    SocketFactory
    • 构造方法详细信息

      • ServerSocketFactory

        protected ServerSocketFactory​()
        创建服务器插座工厂。
    • 方法详细信息

      • getDefault

        public static ServerSocketFactory getDefault​()
        返回环境默认套接字工厂的副本。
        结果
        ServerSocketFactory
      • createServerSocket

        public abstract ServerSocket createServerSocket​(int port)
                                                 throws IOException
        返回绑定到指定端口的服务器套接字。 套接字配置了这个工厂提供的套接字选项(如接受超时)。

        如果有一个安全管理器,它的checkListen方法被调用,其中port参数作为参数,以确保允许操作。 这可能会导致SecurityException。

        参数
        port - 要听的端口
        结果
        ServerSocket
        异常
        IOException - 网络错误
        SecurityException - 如果存在安全管理员,并且其 checkListen方法不允许操作。
        IllegalArgumentException - 如果端口参数超出了指定范围的有效端口值,介于0和65535之间(含)。
        另请参见:
        SecurityManager.checkListen(int)ServerSocket(int)
      • createServerSocket

        public abstract ServerSocket createServerSocket​(int port,
                                                        int backlog)
                                                 throws IOException
        返回绑定到指定端口的服务器套接字,并使用指定的连接积压。 套接字配置了这个工厂提供的套接字选项(如接受超时)。

        backlog参数必须是大于0的正值。如果值等于或小于0,则将假定为默认值。

        如果有安全管理员, checkListen port参数作为参数调用其checkListen方法,以确保允许操作。 这可能会导致SecurityException。

        参数
        port - 要听的端口
        backlog - 有多少个连接排队
        结果
        ServerSocket
        异常
        IOException - 网络错误
        SecurityException - 如果存在安全管理员,并且其 checkListen方法不允许操作。
        IllegalArgumentException - 如果端口参数超出了介于0和65535之间的有效端口值的指定范围(包括0和65535)。
        另请参见:
        SecurityManager.checkListen(int)ServerSocket(int, int)
      • createServerSocket

        public abstract ServerSocket createServerSocket​(int port,
                                                        int backlog,
                                                        InetAddress ifAddress)
                                                 throws IOException
        返回绑定到指定端口的服务器套接字,具有指定的listen backlog和本地IP。

        ifAddress参数可以在多宿主主机上用于ServerSocket ,只能接收到其地址之一的连接请求。 如果ifAddress为空,它将接受所有本地地址的连接。 套接字配置了这个工厂提供的套接字选项(如接受超时)。

        backlog参数必须为大于0的正值。如果值等于或小于0,则将假定为默认值。

        如果有一个安全管理器,它的checkListen方法被调用,以port参数作为参数,以确保操作是允许的。 这可能会导致SecurityException。

        参数
        port - 要收听的端口
        backlog - 有几个连接排队
        ifAddress - 要使用的网络接口地址
        结果
        ServerSocket
        异常
        IOException - 网络错误
        SecurityException - 如果存在安全管理员,并且其 checkListen方法不允许操作。
        IllegalArgumentException - 如果端口参数超出指定范围的有效端口值,介于0和65535之间(包括0和65535)。
        另请参见:
        SecurityManager.checkListen(int)ServerSocket(int, int, java.net.InetAddress)