Class ServerSocketFactory


  • public class ServerSocketFactory
    extends java.lang.Object
    This factory allows for creating regular server sockets. If the tcp.port.range system property is set it will create server sockets within the specified port range (if the port number is set to 0).
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ServerSocketFactory()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.net.ServerSocket createServerSocket​(int port)
      Creates a server socket on a specified port.
      java.net.ServerSocket createServerSocket​(int port, int backlog)
      Creates a server socket on a specified port.
      java.net.ServerSocket createServerSocket​(int port, int backlog, java.net.InetAddress bindAddr)
      Create a server with the specified port, listen backlog, and local IP address to bind to.
      private java.net.ServerSocket createServerSocket​(int backlog, java.net.InetAddress binAddr)
      Tries to find first available port within the port range specified.
      static ServerSocketFactory getDefault()
      Returns the default instance of this class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ServerSocketFactory

        protected ServerSocketFactory()
    • Method Detail

      • getDefault

        public static ServerSocketFactory getDefault()
        Returns the default instance of this class.
        Returns:
        ServerSocketFactory instance of this class.
      • createServerSocket

        public java.net.ServerSocket createServerSocket​(int port)
                                                 throws java.io.IOException
        Creates a server socket on a specified port. A port of 0 creates a socket on any free port or if the tcp.port.range system property is set it creates a socket within the specified port range.

        The maximum queue length for incoming connection indications (a request to connect) is set to 50. If a connection indication arrives when the queue is full, the connection is refused.

        Parameters:
        port - the port number, or 0 to use any free port or if the tcp.port.range property set to use any available port within the specified port range.
        Throws:
        java.io.IOException - if an I/O error occurs when opening the socket.
      • createServerSocket

        public java.net.ServerSocket createServerSocket​(int port,
                                                        int backlog)
                                                 throws java.io.IOException
        Creates a server socket on a specified port. A port of 0 creates a socket on any free port or if the tcp.port.range system property is set it creates a socket within the specified port range.

        The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection is refused.

        Parameters:
        port - the port number, or 0 to use any free port or if the tcp.port.range property set to use any available port within the specified port range.
        backlog - the maximum length of the queue.
        Throws:
        java.io.IOException - if an I/O error occurs when opening the socket.
      • createServerSocket

        public java.net.ServerSocket createServerSocket​(int port,
                                                        int backlog,
                                                        java.net.InetAddress bindAddr)
                                                 throws java.io.IOException
        Create a server with the specified port, listen backlog, and local IP address to bind to. The bindAddr argument can be used on a multi-homed host for a ServerSocket that will only accept connect requests to one of its addresses. If bindAddr is null, it will default accepting connections on any/all local addresses. The port must be between 0 and 65535, inclusive.
        Parameters:
        port - the local TCP port
        backlog - the listen backlog
        bindAddr - the local InetAddress the server will bind to
        Throws:
        java.io.IOException - if an I/O error occurs when opening the socket.
      • createServerSocket

        private java.net.ServerSocket createServerSocket​(int backlog,
                                                         java.net.InetAddress binAddr)
                                                  throws java.io.IOException
        Tries to find first available port within the port range specified. If it finds a free port, it first checks if the port is not used by any other server. If it is, it keeps looking for a next available port. If none found, it throws an exception. If the port is available the server instance is returned.
        Throws:
        java.io.IOException