Package org.globus.net

# 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).

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ServerSocketFactory()`

## Method Summary

Modifier and Type
Method
Description
`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 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.