org.globus.net
Class ServerSocketFactory

java.lang.Object
  extended by 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).


Constructor Summary
protected ServerSocketFactory()
           
 
Method Summary
 ServerSocket createServerSocket(int port)
          Creates a server socket on a specified port.
 ServerSocket createServerSocket(int port, int backlog)
          Creates a server socket on a specified port.
 ServerSocket createServerSocket(int port, int backlog, InetAddress bindAddr)
          Create a server with the specified port, listen backlog, and local IP address to bind to.
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 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.