All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class java.net.ServerSocket

java.lang.Object
   |
   +----java.net.ServerSocket

public class ServerSocket
extends Object
The server Socket class. It uses a SocketImpl to implement the actual socket operations. It is done this way so that you are able to change socket implementations depending on the kind of firewall being used. You can change socket implementations by setting the SocketImplFactory.


Constructor Index

 o ServerSocket(int)
Creates a server socket on a specified port.
 o ServerSocket(int, int)
Creates a server socket, binds it to the specified local port and listens to it.
 o ServerSocket(int, int, InetAddress)
Create a server with the specified port, listen backlog, and local IP address to bind to.

Method Index

 o accept()
Accepts a connection.
 o close()
Closes the server socket.
 o getInetAddress()
Gets the local address of this ServerSocket.
 o getLocalPort()
Gets the port on which the socket is listening.
 o getSoTimeout()
Retrive setting for SO_TIMEOUT.
 o implAccept(Socket)
Subclasses of ServerSocket use this method to override accept() to return their own subclass of socket.
 o setSocketFactory(SocketImplFactory)
Sets the system's server SocketImplFactory.
 o setSoTimeout(int)
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
 o toString()
Returns the implementation address and implementation port of this ServerSocket as a String.

Constructors

 o ServerSocket
  public ServerSocket(int port) throws IOException
Creates a server socket on a specified port. The port must be between 0 and 65535, inclusive.

Parameters:
port - the port
Throws: IOException
IO error when opening the socket.
 o ServerSocket
  public ServerSocket(int port,
                      int backlog) throws IOException
Creates a server socket, binds it to the specified local port and listens to it. You can connect to an annonymous port by specifying the port number to be 0. backlog specifies how many connection requests the system will queue up while waiting for the ServerSocket to execute accept(). The port must be between 0 and 65535, inclusive.

Parameters:
port - the specified port
backlog - the number of queued connect requests pending accept
 o ServerSocket
  public ServerSocket(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
See Also:
SocketConstants, SocketOption, SocketImpl

Methods

 o getInetAddress
  public InetAddress getInetAddress()
Gets the local address of this ServerSocket.

 o getLocalPort
  public int getLocalPort()
Gets the port on which the socket is listening.

 o accept
  public Socket accept() throws IOException
Accepts a connection. This method will block until the connection is made.

Throws: IOException
IO error when waiting for the connection.
 o implAccept
  protected final void implAccept(Socket s) throws IOException
Subclasses of ServerSocket use this method to override accept() to return their own subclass of socket. So a FooServerSocket will typically hand this method an empty FooSocket(). On return from implAccept the FooSocket will be connected to a client.

 o close
  public void close() throws IOException
Closes the server socket.

Throws: IOException
IO error when closing the socket.
 o setSoTimeout
  public synchronized void setSoTimeout(int timeout) throws SocketException
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. With this option set to a non-zero timeout, a call to accept() for this ServerSocket will block for only this amount of time. If the timeout expires, a java.io.InterruptedIOException is raised, though the ServerSocket is still valid. The option must be enabled prior to entering the blocking operation to have effect. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout.

 o getSoTimeout
  public synchronized int getSoTimeout() throws IOException
Retrive setting for SO_TIMEOUT. 0 returns implies that the option is disabled (i.e., timeout of infinity).

 o toString
  public String toString()
Returns the implementation address and implementation port of this ServerSocket as a String.

Overrides:
toString in class Object
 o setSocketFactory
  public static synchronized void setSocketFactory(SocketImplFactory fac) throws IOException
Sets the system's server SocketImplFactory. The factory can be specified only once.

Parameters:
fac - the desired factory
Throws: SocketException
If the factory has already been defined.
Throws: IOException
IO error when setting the socket factor.

All Packages  Class Hierarchy  This Package  Previous  Next  Index