java.lang.Object | |
↳ | java.net.Socket |
Known Direct Subclasses |
Provides a client-side TCP socket.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates a new unconnected socket.
| |||||||||||
Creates a new unconnected socket using the given proxy type.
| |||||||||||
Creates a new streaming socket connected to the target host specified by
the parameters
dstName and dstPort . | |||||||||||
Creates a new streaming socket connected to the target host specified by
the parameters
dstName and dstPort . | |||||||||||
This constructor is deprecated.
Use
Socket(String, int) instead of this for streaming
sockets or an appropriate constructor of DatagramSocket for UDP transport.
| |||||||||||
Creates a new streaming socket connected to the target host specified by
the parameters
dstAddress and dstPort . | |||||||||||
Creates a new streaming socket connected to the target host specified by
the parameters
dstAddress and dstPort . | |||||||||||
This constructor is deprecated.
Use
Socket(InetAddress, int) instead of this for
streaming sockets or an appropriate constructor of DatagramSocket for UDP transport.
|
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates an unconnected socket with the given socket implementation.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Binds this socket to the given local host address and port specified by
the SocketAddress
localAddr . | |||||||||||
Closes the socket.
| |||||||||||
Connects this socket to the given remote host address and port specified
by the SocketAddress
remoteAddr with the specified timeout. | |||||||||||
Connects this socket to the given remote host address and port specified
by the SocketAddress
remoteAddr . | |||||||||||
Returns this socket's
SocketChannel , if one exists. | |||||||||||
Returns the IP address of the target host this socket is connected to, or null if this
socket is not yet connected.
| |||||||||||
Returns an input stream to read data from this socket.
| |||||||||||
Returns this socket's
SO_KEEPALIVE setting. | |||||||||||
Returns the local IP address this socket is bound to, or
InetAddress.ANY if
the socket is unbound. | |||||||||||
Returns the local port this socket is bound to, or -1 if the socket is unbound.
| |||||||||||
Returns the local address and port of this socket as a SocketAddress or
null if the socket is unbound.
| |||||||||||
Returns this socket's
SO_OOBINLINE setting. | |||||||||||
Returns an output stream to write data into this socket.
| |||||||||||
Returns the port number of the target host this socket is connected to, or 0 if this socket
is not yet connected.
| |||||||||||
Returns this socket's
receive buffer size . | |||||||||||
Returns the remote address and port of this socket as a
SocketAddress or null if the socket is not connected. | |||||||||||
Returns this socket's
SO_REUSEADDR setting. | |||||||||||
Returns this socket's
send buffer size . | |||||||||||
Returns this socket's
linger timeout in seconds, or -1
for no linger (i.e. | |||||||||||
Returns this socket's
receive timeout . | |||||||||||
Returns this socket's
SocketOptions#TCP_NODELAY setting. | |||||||||||
Returns this socket's setting.
| |||||||||||
Returns whether this socket is bound to a local address and port.
| |||||||||||
Returns whether this socket is closed.
| |||||||||||
Returns whether this socket is connected to a remote host.
| |||||||||||
Returns whether the incoming channel of the socket has already been
closed.
| |||||||||||
Returns whether the outgoing channel of the socket has already been
closed.
| |||||||||||
Sends the given single byte data which is represented by the lowest octet
of
value as "TCP urgent data". | |||||||||||
Sets this socket's
SO_KEEPALIVE option. | |||||||||||
Sets this socket's
SO_OOBINLINE option. | |||||||||||
Sets performance preferences for connectionTime, latency and bandwidth.
| |||||||||||
Sets this socket's
receive buffer size . | |||||||||||
Sets this socket's
SO_REUSEADDR option. | |||||||||||
Sets this socket's
send buffer size . | |||||||||||
Sets this socket's
linger timeout in seconds. | |||||||||||
Sets this socket's
read timeout in milliseconds. | |||||||||||
Sets the internal factory for creating socket implementations.
| |||||||||||
Sets this socket's
TCP_NODELAY option. | |||||||||||
Sets this socket's
IP_TOS value for every packet sent by this socket. | |||||||||||
Closes the input stream of this socket.
| |||||||||||
Closes the output stream of this socket.
| |||||||||||
Returns a
String containing a concise, human-readable description of the
socket. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Creates a new unconnected socket. When a SocketImplFactory is defined it creates the internal socket implementation, otherwise the default socket implementation will be used for this socket.
Creates a new unconnected socket using the given proxy type. When a
SocketImplFactory
is defined it creates the internal socket
implementation, otherwise the default socket implementation will be used
for this socket.
Example that will create a socket connection through a SOCKS
proxy server:
Socket sock = new Socket(new Proxy(Proxy.Type.SOCKS, new
InetSocketAddress("test.domain.org", 2130)));
proxy | the specified proxy for this socket. |
---|
IllegalArgumentException | if the argument proxy is null or of an
invalid type. |
---|---|
SecurityException | if a security manager exists and it denies the permission to connect to the given proxy. |
Creates a new streaming socket connected to the target host specified by
the parameters dstName
and dstPort
. The socket is bound
to any available port on the local host.
Implementation note: this implementation tries each
IP address for the given hostname until it either connects successfully
or it exhausts the set. It will try both IPv4 and IPv6 addresses in the
order specified by the system property "java.net.preferIPv6Addresses"
.
dstName | the target host name or IP address to connect to. |
---|---|
dstPort | the port on the target host to connect to. |
UnknownHostException | if the host name could not be resolved into an IP address. |
---|---|
IOException | if an error occurs while creating the socket. |
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
Creates a new streaming socket connected to the target host specified by
the parameters dstName
and dstPort
. On the local endpoint
the socket is bound to the given address localAddress
on port
localPort
.
If host
is null
a loopback address is used to connect to.
Implementation note: this implementation tries each
IP address for the given hostname until it either connects successfully
or it exhausts the set. It will try both IPv4 and IPv6 addresses in the
order specified by the system property "java.net.preferIPv6Addresses"
.
dstName | the target host name or IP address to connect to. |
---|---|
dstPort | the port on the target host to connect to. |
localAddress | the address on the local host to bind to. |
localPort | the port on the local host to bind to. |
UnknownHostException | if the host name could not be resolved into an IP address. |
---|---|
IOException | if an error occurs while creating the socket. |
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
This constructor is deprecated.
Use Socket(String, int)
instead of this for streaming
sockets or an appropriate constructor of DatagramSocket
for UDP transport.
Creates a new streaming or datagram socket connected to the target host
specified by the parameters hostName
and port
. The socket
is bound to any available port on the local host.
Implementation note: this implementation tries each
IP address for the given hostname until it either connects successfully
or it exhausts the set. It will try both IPv4 and IPv6 addresses in the
order specified by the system property "java.net.preferIPv6Addresses"
.
hostName | the target host name or IP address to connect to. |
---|---|
port | the port on the target host to connect to. |
streaming | if true a streaming socket is returned, a datagram
socket otherwise. |
UnknownHostException | if the host name could not be resolved into an IP address. |
---|---|
IOException | if an error occurs while creating the socket. |
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
Creates a new streaming socket connected to the target host specified by
the parameters dstAddress
and dstPort
. The socket is
bound to any available port on the local host.
dstAddress | the target host address to connect to. |
---|---|
dstPort | the port on the target host to connect to. |
IOException | if an error occurs while creating the socket. |
---|---|
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
Creates a new streaming socket connected to the target host specified by
the parameters dstAddress
and dstPort
. On the local
endpoint the socket is bound to the given address localAddress
on
port localPort
.
dstAddress | the target host address to connect to. |
---|---|
dstPort | the port on the target host to connect to. |
localAddress | the address on the local host to bind to. |
localPort | the port on the local host to bind to. |
IOException | if an error occurs while creating the socket. |
---|---|
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
This constructor is deprecated.
Use Socket(InetAddress, int)
instead of this for
streaming sockets or an appropriate constructor of DatagramSocket
for UDP transport.
Creates a new streaming or datagram socket connected to the target host
specified by the parameters addr
and port
. The socket is
bound to any available port on the local host.
addr | the Internet address to connect to. |
---|---|
port | the port on the target host to connect to. |
streaming | if true a streaming socket is returned, a datagram
socket otherwise. |
IOException | if an error occurs while creating the socket. |
---|---|
SecurityException | if a security manager exists and it denies the permission to connect to the given address and port. |
Creates an unconnected socket with the given socket implementation.
impl | the socket implementation to be used. |
---|
SocketException | if an error occurs while creating the socket. |
---|
Binds this socket to the given local host address and port specified by
the SocketAddress localAddr
. If localAddr
is set to
null
, this socket will be bound to an available local address on
any free port.
localAddr | the specific address and port on the local machine to bind to. |
---|
IllegalArgumentException | if the given SocketAddress is invalid or not supported. |
---|---|
IOException | if the socket is already bound or an error occurs while binding. |
Closes the socket. It is not possible to reconnect or rebind to this socket thereafter which means a new socket instance has to be created.
IOException | if an error occurs while closing the socket. |
---|
Connects this socket to the given remote host address and port specified
by the SocketAddress remoteAddr
with the specified timeout. The
connecting method will block until the connection is established or an
error occurred.
remoteAddr | the address and port of the remote host to connect to. |
---|---|
timeout | the timeout value in milliseconds or 0 for an infinite
timeout. |
IllegalArgumentException | if the given SocketAddress is invalid or not supported or the timeout value is negative. |
---|---|
IOException | if the socket is already connected or an error occurs while connecting. |
Connects this socket to the given remote host address and port specified
by the SocketAddress remoteAddr
.
remoteAddr | the address and port of the remote host to connect to. |
---|
IllegalArgumentException | if the given SocketAddress is invalid or not supported. |
---|---|
IOException | if the socket is already connected or an error occurs while connecting. |
Returns this socket's SocketChannel
, if one exists. A channel is
available only if this socket wraps a channel. (That is, you can go from a
channel to a socket and back again, but you can't go from an arbitrary socket to a channel.)
In practice, this means that the socket must have been created by
accept()
or
open()
.
Returns the IP address of the target host this socket is connected to, or null if this socket is not yet connected.
Returns an input stream to read data from this socket.
IOException | if an error occurs while creating the input stream or the socket is in an invalid state. |
---|
Returns this socket's SO_KEEPALIVE
setting.
SocketException |
---|
Returns the local IP address this socket is bound to, or InetAddress.ANY
if
the socket is unbound.
Returns the local port this socket is bound to, or -1 if the socket is unbound.
Returns the local address and port of this socket as a SocketAddress or null if the socket is unbound. This is useful on multihomed hosts.
Returns this socket's SO_OOBINLINE
setting.
SocketException |
---|
Returns an output stream to write data into this socket.
IOException | if an error occurs while creating the output stream or the socket is in an invalid state. |
---|
Returns the port number of the target host this socket is connected to, or 0 if this socket is not yet connected.
Returns this socket's receive buffer size
.
SocketException |
---|
Returns the remote address and port of this socket as a SocketAddress
or null if the socket is not connected.
Returns this socket's SO_REUSEADDR
setting.
SocketException |
---|
Returns this socket's send buffer size
.
SocketException |
---|
Returns this socket's linger
timeout in seconds, or -1
for no linger (i.e. close
will return immediately).
SocketException |
---|
Returns this socket's receive timeout
.
SocketException |
---|
Returns this socket's SocketOptions#TCP_NODELAY
setting.
SocketException |
---|
Returns whether this socket is bound to a local address and port.
true
if the socket is bound to a local address, false
otherwise.
Returns whether this socket is closed.
true
if the socket is closed, false
otherwise.
Returns whether this socket is connected to a remote host.
true
if the socket is connected, false
otherwise.
Returns whether the incoming channel of the socket has already been closed.
true
if reading from this socket is not possible anymore,
false
otherwise.
Returns whether the outgoing channel of the socket has already been closed.
true
if writing to this socket is not possible anymore,
false
otherwise.
Sends the given single byte data which is represented by the lowest octet
of value
as "TCP urgent data".
value | the byte of urgent data to be sent. |
---|
IOException | if an error occurs while sending urgent data. |
---|
Sets this socket's SO_KEEPALIVE
option.
SocketException |
---|
Sets this socket's SO_OOBINLINE
option.
SocketException |
---|
Sets performance preferences for connectionTime, latency and bandwidth.
This method does currently nothing.
connectionTime | the value representing the importance of a short connecting time. |
---|---|
latency | the value representing the importance of low latency. |
bandwidth | the value representing the importance of high bandwidth. |
Sets this socket's receive buffer size
.
SocketException |
---|
Sets this socket's SO_REUSEADDR
option.
SocketException |
---|
Sets this socket's send buffer size
.
SocketException |
---|
Sets this socket's linger
timeout in seconds.
If on
is false, timeout
is irrelevant.
SocketException |
---|
Sets this socket's read timeout
in milliseconds.
Use 0 for no timeout.
To take effect, this option must be set before the blocking method was called.
SocketException |
---|
Sets the internal factory for creating socket implementations. This may only be executed once during the lifetime of the application.
fac | the socket implementation factory to be set. |
---|
IOException | if the factory has been already set. |
---|
Sets this socket's TCP_NODELAY
option.
SocketException |
---|
Sets this socket's IP_TOS
value for every packet sent by this socket.
SocketException |
---|
Closes the input stream of this socket. Any further data sent to this
socket will be discarded. Reading from this socket after this method has
been called will return the value EOF
.
IOException | if an error occurs while closing the socket input stream. |
---|---|
SocketException | if the input stream is already closed. |
Closes the output stream of this socket. All buffered data will be sent
followed by the termination sequence. Writing to the closed output stream
will cause an IOException
.
IOException | if an error occurs while closing the socket output stream. |
---|---|
SocketException | if the output stream is already closed. |
Returns a String
containing a concise, human-readable description of the
socket.