Whole document tree
java.net
|
Constructor Summary | |
ServerSocket(int port)
Creates a server socket on a specified port. |
|
ServerSocket(int port,
int backlog)
Creates a server socket and binds it to the specified local port number, with the specified backlog. |
|
ServerSocket(int port,
int backlog,
InetAddress bindAddr)
Create a server with the specified port, listen backlog, and local IP address to bind to. |
Method Summary | |
Socket |
accept()
Listens for a connection to be made to this socket and accepts it. |
void |
close()
Closes this socket. |
InetAddress |
getInetAddress()
Returns the local address of this server socket. |
int |
getLocalPort()
Returns the port on which this socket is listening. |
int |
getSoTimeout()
Retrive setting for SO_TIMEOUT. |
protected void |
implAccept(Socket s)
Subclasses of ServerSocket use this method to override accept() to return their own subclass of socket. |
static void |
setSocketFactory(SocketImplFactory fac)
Sets the server socket implementation factory for the application. |
void |
setSoTimeout(int timeout)
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. |
String |
toString()
Returns the implementation address and implementation port of this socket as a String . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public ServerSocket(int port) throws IOException
0
creates a socket on any free port.
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.
If the application has specified a server socket factory, that
factory's createSocketImpl
method is called to create
the actual socket implementation. Otherwise a "plain" socket is created.
If there is a security manager,
its checkListen
method is called
with the port
argument
as its argument to ensure the operation is allowed.
This could result in a SecurityException.
port
- the port number, or 0
to use any
free port.IOException
- if an I/O error occurs when opening the socket.SecurityException
- if a security manager exists and its checkListen
method doesn't allow the operation.SocketImpl
,
SocketImplFactory.createSocketImpl()
,
setSocketFactory(java.net.SocketImplFactory)
,
SecurityManager.checkListen(int)
public ServerSocket(int port, int backlog) throws IOException
0
creates a socket on any
free port.
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.
If the application has specified a server socket factory, that
factory's createSocketImpl
method is called to create
the actual socket implementation. Otherwise a "plain" socket is created.
If there is a security manager,
its checkListen
method is called
with the port
argument
as its argument to ensure the operation is allowed.
This could result in a SecurityException.
port
- the specified port, or 0
to use
any free port.backlog
- the maximum length of the queue.IOException
- if an I/O error occurs when opening the socket.SecurityException
- if a security manager exists and its checkListen
method doesn't allow the operation.SocketImpl
,
SocketImplFactory.createSocketImpl()
,
setSocketFactory(java.net.SocketImplFactory)
,
SecurityManager.checkListen(int)
public ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException
If there is a security manager, this method
calls its checkListen
method
with the port
argument
as its argument to ensure the operation is allowed.
This could result in a SecurityException.
port
- the local TCP portbacklog
- the listen backlogbindAddr
- the local InetAddress the server will bind toSecurityException
- if a security manager exists and
its checkListen
method doesn't allow the operation.IOException
- if an I/O error occurs when opening the socket.SocketOptions
,
SocketImpl
,
SecurityManager.checkListen(int)
Method Detail |
public InetAddress getInetAddress()
null
if the socket is not yet connected.public int getLocalPort()
public Socket accept() throws IOException
A new Socket s
is created and, if there
is a security manager,
the security manager's checkAccept
method is called
with s.getInetAddress().getHostAddress()
and
s.getPort()
as its arguments to ensure the operation is allowed.
This could result in a SecurityException.
IOException
- if an I/O error occurs when waiting for a
connection.SecurityException
- if a security manager exists and its
checkListen
method doesn't allow the operation.SecurityManager.checkAccept(java.lang.String, int)
protected final void implAccept(Socket s) throws IOException
s
- the SocketIOException
- if an I/O error occurs when waiting
for a connection.public void close() throws IOException
IOException
- if an I/O error occurs when closing the socket.public void setSoTimeout(int timeout) throws SocketException
timeout
- the specified timeout, in millisecondsSocketException
- if there is an error in
the underlying protocol, such as a TCP error.getSoTimeout()
public int getSoTimeout() throws IOException
IOException
- if an I/O error occurssetSoTimeout(int)
public String toString()
String
.public static void setSocketFactory(SocketImplFactory fac) throws IOException
When an application creates a new server socket, the socket
implementation factory's createSocketImpl
method is
called to create the actual socket implementation.
If there is a security manager, this method first calls
the security manager's checkSetFactory
method
to ensure the operation is allowed.
This could result in a SecurityException.
fac
- the desired factory.IOException
- if an I/O error occurs when setting the
socket factory.SocketException
- if the factory has already been defined.SecurityException
- if a security manager exists and its
checkSetFactory
method doesn't allow the operation.SocketImplFactory.createSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.