Class ServerSocketFactory

java.lang.Object
org.globus.net.ServerSocketFactory

public class ServerSocketFactory extends 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).
  • Field Details

  • Constructor Details

    • ServerSocketFactory

      protected ServerSocketFactory()
  • Method Details

    • getDefault

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

      public ServerSocket createServerSocket(int port) throws 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:
      IOException - if an I/O error occurs when opening the socket.
    • createServerSocket

      public ServerSocket createServerSocket(int port, int backlog) throws 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:
      IOException - if an I/O error occurs when opening the socket.
    • createServerSocket

      public ServerSocket createServerSocket(int port, int backlog, InetAddress bindAddr) throws 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:
      IOException - if an I/O error occurs when opening the socket.
    • createServerSocket

      private ServerSocket createServerSocket(int backlog, InetAddress binAddr) throws 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:
      IOException