Whole document tree
java.net
|
Constructor Summary | |
protected |
Socket()
Creates an unconnected socket, with the system-default type of SocketImpl. |
|
Socket(InetAddress address,
int port)
Creates a stream socket and connects it to the specified port number at the specified IP address. |
|
Socket(InetAddress host,
int port,
boolean stream)
Deprecated. Use DatagramSocket instead for UDP transport. |
|
Socket(InetAddress address,
int port,
InetAddress localAddr,
int localPort)
Creates a socket and connects it to the specified remote address on the specified remote port. |
protected |
Socket(SocketImpl impl)
Creates an unconnected Socket with a user-specified SocketImpl. |
|
Socket(String host,
int port)
Creates a stream socket and connects it to the specified port number on the named host. |
|
Socket(String host,
int port,
boolean stream)
Deprecated. Use DatagramSocket instead for UDP transport. |
|
Socket(String host,
int port,
InetAddress localAddr,
int localPort)
Creates a socket and connects it to the specified remote host on the specified remote port. |
Method Summary | |
void |
close()
Closes this socket. |
InetAddress |
getInetAddress()
Returns the address to which the socket is connected. |
InputStream |
getInputStream()
Returns an input stream for this socket. |
boolean |
getKeepAlive()
Tests if SO_KEEPALIVE is enabled. |
InetAddress |
getLocalAddress()
Gets the local address to which the socket is bound. |
int |
getLocalPort()
Returns the local port to which this socket is bound. |
OutputStream |
getOutputStream()
Returns an output stream for this socket. |
int |
getPort()
Returns the remote port to which this socket is connected. |
int |
getReceiveBufferSize()
Gets the value of the SO_RCVBUF option for this Socket, that is the buffer size used by the platform for input on this Socket. |
int |
getSendBufferSize()
Get value of the SO_SNDBUF option for this Socket, that is the buffer size used by the platform for output on this Socket. |
int |
getSoLinger()
Returns setting for SO_LINGER. |
int |
getSoTimeout()
Returns setting for SO_TIMEOUT. |
boolean |
getTcpNoDelay()
Tests if TCP_NODELAY is enabled. |
void |
setKeepAlive(boolean on)
Enable/disable SO_KEEPALIVE. |
void |
setReceiveBufferSize(int size)
Sets the SO_RCVBUF option to the specified value for this Socket. |
void |
setSendBufferSize(int size)
Sets the SO_SNDBUF option to the specified value for this Socket. |
static void |
setSocketImplFactory(SocketImplFactory fac)
Sets the client socket implementation factory for the application. |
void |
setSoLinger(boolean on,
int linger)
Enable/disable SO_LINGER with the specified linger time in seconds. |
void |
setSoTimeout(int timeout)
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. |
void |
setTcpNoDelay(boolean on)
Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). |
void |
shutdownInput()
Places the input stream for this socket at "end of stream". |
void |
shutdownOutput()
Disables the output stream for this socket. |
String |
toString()
Converts this socket to a String . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
protected Socket()
protected Socket(SocketImpl impl) throws SocketException
impl
- an instance of a SocketImpl
the subclass wishes to use on the Socket.SocketException
- if there is an error in the underlying protocol,
such as a TCP error.public Socket(String host, int port) throws UnknownHostException, IOException
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
checkConnect
method is called
with the host address and port
as its arguments. This could result in a SecurityException.
host
- the host name.port
- the port number.UnknownHostException
- if the IP address of
the host could not be determined.IOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port) throws IOException
If the application has specified a 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
checkConnect
method is called
with the host address and port
as its arguments. This could result in a SecurityException.
address
- the IP address.port
- the port number.IOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException
If there is a security manager, its
checkConnect
method is called
with the host address and port
as its arguments. This could result in a SecurityException.
host
- the name of the remote hostport
- the remote portlocalAddr
- the local address the socket is bound tolocalPort
- the local port the socket is bound toIOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException
If there is a security manager, its
checkConnect
method is called
with the host address and port
as its arguments. This could result in a SecurityException.
address
- the remote addressport
- the remote portlocalAddr
- the local address the socket is bound tolocalPort
- the local port the socket is bound toIOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, boolean stream) throws IOException
If the stream argument is true
, this creates a
stream socket. If the stream argument is false
, it
creates a datagram socket.
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
checkConnect
method is called
with the host address and port
as its arguments. This could result in a SecurityException.
host
- the host name.port
- the port number.stream
- a boolean
indicating whether this is
a stream socket or a datagram socket.IOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress host, int port, boolean stream) throws IOException
If the stream argument is true
, this creates a
stream socket. If the stream argument is false
, it
creates a datagram socket.
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
checkConnect
method is called
with host.getHostAddress()
and port
as its arguments. This could result in a SecurityException.
host
- the IP address.port
- the port number.stream
- if true
, create a stream socket;
otherwise, create a datagram socket.IOException
- if an I/O error occurs when creating the socket.SecurityException
- if a security manager exists and its
checkConnect
method doesn't allow the operation.setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
Method Detail |
public InetAddress getInetAddress()
public InetAddress getLocalAddress()
public int getPort()
public int getLocalPort()
public InputStream getInputStream() throws IOException
IOException
- if an I/O error occurs when creating the
input stream.public OutputStream getOutputStream() throws IOException
IOException
- if an I/O error occurs when creating the
output stream.public void setTcpNoDelay(boolean on) throws SocketException
on
- true
to enable TCP_NODELAY,
false to disable.- Throws:
SocketException
- if there is an error
in the underlying protocol, such as a TCP error.- Since:
- JDK1.1
- See Also:
getTcpNoDelay()
public boolean getTcpNoDelay() throws SocketException
boolean
indicating whether or not TCP_NODELAY is enabled.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setTcpNoDelay(boolean)
public void setSoLinger(boolean on, int linger) throws SocketException
on
- whether or not to linger on.linger
- how to linger for, if on is true.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.IllegalArgumentException
- if the linger value is negative.getSoLinger()
public int getSoLinger() throws SocketException
SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setSoLinger(boolean, int)
public void setSoTimeout(int timeout) throws SocketException
timeout
- the specified timeout, in milliseconds.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.getSoTimeout()
public int getSoTimeout() throws SocketException
SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setSoTimeout(int)
public void setSendBufferSize(int size) throws SocketException
Increasing buffer size can increase the performance of network I/O for high-volume connection, while decreasing it can help reduce the backlog of incoming data. For UDP, this sets the maximum size of a packet that may be sent on this Socket.
Because SO_SNDBUF is a hint, applications that want to
verify what size the buffers were set to should call
getSendBufferSize()
.
size
- the size to which to set the send buffer
size. This value must be greater than 0.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.IllegalArgumentException
- if the
value is 0 or is negative.getSendBufferSize()
public int getSendBufferSize() throws SocketException
SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setSendBufferSize(int)
public void setReceiveBufferSize(int size) throws SocketException
Increasing buffer size can increase the performance of network I/O for high-volume connection, while decreasing it can help reduce the backlog of incoming data. For UDP, this sets the maximum size of a packet that may be sent on this Socket.
Because SO_RCVBUF is a hint, applications that want to
verify what size the buffers were set to should call
getReceiveBufferSize()
.
size
- the size to which to set the receive buffer
size. This value must be greater than 0.IllegalArgumentException
- if the value is 0 or is
negative.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.getReceiveBufferSize()
public int getReceiveBufferSize() throws SocketException
SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setReceiveBufferSize(int)
public void setKeepAlive(boolean on) throws SocketException
on
- whether or not to have socket keep alive turned on.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.getKeepAlive()
public boolean getKeepAlive() throws SocketException
boolean
indicating whether or not SO_KEEPALIVE is enabled.SocketException
- if there is an error
in the underlying protocol, such as a TCP error.setKeepAlive(boolean)
public void close() throws IOException
IOException
- if an I/O error occurs when closing this socket.public void shutdownInput() throws IOException
IOException
- if an I/O error occurs when shutting down this
socket.shutdownOutput()
,
close()
,
setSoLinger(boolean, int)
public void shutdownOutput() throws IOException
IOException
- if an I/O error occurs when shutting down this
socket.shutdownInput()
,
close()
,
setSoLinger(boolean, int)
public String toString()
String
.public static void setSocketImplFactory(SocketImplFactory fac) throws IOException
When an application creates a new client 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 is already 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.