|
Build 1.1_r1 (from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.net.Socket
public class Socket
Provides a client-side TCP socket.
| Field Summary | |
|---|---|
(package private) static SocketImplFactory |
factory
|
(package private) static int |
FLAG_SHUTDOWN
|
(package private) SocketImpl |
impl
|
(package private) static int |
MULTICAST_IF
|
(package private) static int |
MULTICAST_TTL
|
(package private) static int |
TCP_NODELAY
|
| Constructor Summary | |
|---|---|
|
Socket()
Creates a new unconnected socket. |
|
Socket(InetAddress dstAddress,
int dstPort)
Creates a new streaming socket connected to the target host specified by the parameters dstAddress and dstPort. |
|
Socket(InetAddress addr,
int port,
boolean streaming)
Deprecated. Use Socket(InetAddress, int) instead of this for
streaming sockets or an appropriate constructor of DatagramSocket for UDP transport. |
|
Socket(InetAddress dstAddress,
int dstPort,
InetAddress localAddress,
int localPort)
Creates a new streaming socket connected to the target host specified by the parameters dstAddress and dstPort. |
|
Socket(Proxy proxy)
Creates a new unconnected socket using the given proxy type. |
protected |
Socket(SocketImpl anImpl)
Creates an unconnected socket with the given socket implementation. |
|
Socket(String dstName,
int dstPort)
Creates a new streaming socket connected to the target host specified by the parameters dstName and dstPort. |
|
Socket(String hostName,
int port,
boolean streaming)
Deprecated. Use Socket(String, int) instead of this for streaming
sockets or an appropriate constructor of DatagramSocket for UDP transport. |
|
Socket(String dstName,
int dstPort,
InetAddress localAddress,
int localPort)
Creates a new streaming socket connected to the target host specified by the parameters dstName and dstPort. |
| Method Summary | |
|---|---|
(package private) void |
accepted()
Set the appropriate flags for a socket created by ServerSocket.accept(). |
void |
bind(SocketAddress localAddr)
Binds this socket to the given local host address and port specified by the SocketAddress localAddr. |
(package private) void |
checkDestination(InetAddress destAddr,
int dstPort)
Checks whether the connection destination satisfies the security policy and the validity of the port range. |
void |
close()
Closes the socket. |
void |
connect(SocketAddress remoteAddr)
Connects this socket to the given remote host address and port specified by the SocketAddress remoteAddr. |
void |
connect(SocketAddress remoteAddr,
int timeout)
Connects this socket to the given remote host address and port specified by the SocketAddress remoteAddr with the specified timeout. |
SocketChannel |
getChannel()
Gets the SocketChannel of this socket, if one is available. |
InetAddress |
getInetAddress()
Gets the IP address of the target host this socket is connected to. |
InputStream |
getInputStream()
Gets an input stream to read data from this socket. |
boolean |
getKeepAlive()
Gets the setting of the socket option SocketOptions.SO_KEEPALIVE. |
InetAddress |
getLocalAddress()
Gets the local IP address this socket is bound to. |
int |
getLocalPort()
Gets the local port this socket is bound to. |
SocketAddress |
getLocalSocketAddress()
Gets the local address and port of this socket as a SocketAddress or null if the socket is unbound. |
boolean |
getOOBInline()
Gets the setting of the socket option SocketOptions.SO_OOBINLINE. |
OutputStream |
getOutputStream()
Gets an output stream to write data into this socket. |
int |
getPort()
Gets the port number of the target host this socket is connected to. |
int |
getReceiveBufferSize()
Gets the receive buffer size of this socket. |
SocketAddress |
getRemoteSocketAddress()
Gets the remote address and port of this socket as a SocketAddress or null if the socket is not connected. |
boolean |
getReuseAddress()
Gets the setting of the socket option SocketOptions.SO_REUSEADDR. |
int |
getSendBufferSize()
Gets the send buffer size of this socket. |
int |
getSoLinger()
Gets the value of the socket option SocketOptions.SO_LINGER. |
int |
getSoTimeout()
Gets the timeout for this socket during which a reading operation shall block while waiting for data. |
boolean |
getTcpNoDelay()
Gets the setting of the socket option SocketOptions.TCP_NODELAY. |
int |
getTrafficClass()
Gets the value of the socket option SocketOptions.IP_TOS. |
boolean |
isBound()
Returns whether this socket is bound to a local address and port. |
boolean |
isClosed()
Returns whether this socket is closed. |
boolean |
isConnected()
Returns whether this socket is connected to a remote host. |
boolean |
isInputShutdown()
Returns whether the incoming channel of the socket has already been closed. |
boolean |
isOutputShutdown()
Returns whether the outgoing channel of the socket has already been closed. |
(package private) static boolean |
preferIPv4Stack()
|
void |
sendUrgentData(int value)
Sends the given single byte data which is represented by the lowest octet of value as "TCP urgent data". |
void |
setKeepAlive(boolean value)
Sets the state of the SocketOptions.SO_KEEPALIVE for this socket. |
void |
setOOBInline(boolean oobinline)
Sets the state of the SocketOptions.SO_OOBINLINE for this socket. |
void |
setPerformancePreferences(int connectionTime,
int latency,
int bandwidth)
Sets performance preferences for connectionTime, latency and bandwidth. |
void |
setReceiveBufferSize(int size)
Sets the receive buffer size of this socket. |
void |
setReuseAddress(boolean reuse)
Sets the state of the SocketOptions.SO_REUSEADDR for this socket. |
void |
setSendBufferSize(int size)
Sets the send buffer size of this socket. |
static void |
setSocketImplFactory(SocketImplFactory fac)
Sets the internal factory for creating socket implementations. |
void |
setSoLinger(boolean on,
int timeout)
Sets the state of the SocketOptions.SO_LINGER with the given
timeout in seconds. |
void |
setSoTimeout(int timeout)
Sets the reading timeout in milliseconds for this socket. |
void |
setTcpNoDelay(boolean on)
Sets the state of the SocketOptions.TCP_NODELAY for this socket. |
void |
setTrafficClass(int value)
Sets the value of the SocketOptions.IP_TOS for this socket. |
void |
shutdownInput()
Closes the input stream of this socket. |
void |
shutdownOutput()
Closes the output stream of this socket. |
(package private) void |
startupSocket(InetAddress dstAddress,
int dstPort,
InetAddress localAddress,
int localPort,
boolean streaming)
Creates a stream socket, binds it to the nominated local address/port, then connects it to the nominated destination address/port. |
String |
toString()
Returns a String containing a concise, human-readable description of the
socket. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
SocketImpl impl
static SocketImplFactory factory
static final int MULTICAST_IF
static final int MULTICAST_TTL
static final int TCP_NODELAY
static final int FLAG_SHUTDOWN
| Constructor Detail |
|---|
public Socket()
SocketImplFactory,
SocketImplpublic Socket(Proxy proxy)
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.SocketImplFactory,
SocketImpl
public Socket(String dstName,
int dstPort)
throws UnknownHostException,
IOException
dstName and dstPort. The socket is bound
to any available port on the local host.
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.
public Socket(String dstName,
int dstPort,
InetAddress localAddress,
int localPort)
throws IOException
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.
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.
@Deprecated
public Socket(String hostName,
int port,
boolean streaming)
throws IOException
Socket(String, int) instead of this for streaming
sockets or an appropriate constructor of DatagramSocket for UDP transport.
hostName and port. The socket
is bound to any available port on the local host.
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.
public Socket(InetAddress dstAddress,
int dstPort)
throws IOException
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.
public Socket(InetAddress dstAddress,
int dstPort,
InetAddress localAddress,
int localPort)
throws IOException
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.
@Deprecated
public Socket(InetAddress addr,
int port,
boolean streaming)
throws IOException
Socket(InetAddress, int) instead of this for
streaming sockets or an appropriate constructor of DatagramSocket for UDP transport.
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.
protected Socket(SocketImpl anImpl)
throws SocketException
anImpl - the socket implementation to be used.
SocketException - if an error occurs while creating the socket.| Method Detail |
|---|
void checkDestination(InetAddress destAddr,
int dstPort)
destAddr - the destination host address.dstPort - the port on the destination host.
public void close()
throws IOException
IOException - if an error occurs while closing the socket.public InetAddress getInetAddress()
null if
this socket is not yet connected.
public InputStream getInputStream()
throws IOException
IOException - if an error occurs while creating the input stream or the
socket is in an invalid state.
public boolean getKeepAlive()
throws SocketException
SocketOptions.SO_KEEPALIVE.
true if the SocketOptions.SO_KEEPALIVE is
enabled, false otherwise.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_KEEPALIVEpublic InetAddress getLocalAddress()
InetAddress.ANY if
the socket is unbound.public int getLocalPort()
-1 if the socket is
unbound.
public OutputStream getOutputStream()
throws IOException
IOException - if an error occurs while creating the output stream or the
socket is in an invalid state.public int getPort()
0 if this
socket is not yet connected.
public int getSoLinger()
throws SocketException
SocketOptions.SO_LINGER.
SocketOptions.SO_LINGER
or -1 if this option is disabled.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_LINGER
public int getReceiveBufferSize()
throws SocketException
SocketOptions.SO_RCVBUF.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_RCVBUF
public int getSendBufferSize()
throws SocketException
SocketOptions.SO_SNDBUF.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_SNDBUF
public int getSoTimeout()
throws SocketException
SocketOptions.SO_TIMEOUT
or 0 which represents an infinite timeout.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_TIMEOUT
public boolean getTcpNoDelay()
throws SocketException
SocketOptions.TCP_NODELAY.
true if the SocketOptions.TCP_NODELAY is enabled,
false otherwise.
SocketException - if an error occurs while reading the socket option.SocketOptions.TCP_NODELAY
public void setKeepAlive(boolean value)
throws SocketException
SocketOptions.SO_KEEPALIVE for this socket.
value - the state whether this option is enabled or not.
SocketException - if an error occurs while setting the option.SocketOptions.SO_KEEPALIVE
public static void setSocketImplFactory(SocketImplFactory fac)
throws IOException
fac - the socket implementation factory to be set.
IOException - if the factory has been already set.
public void setSendBufferSize(int size)
throws SocketException
size - the buffer size in bytes. This value must be a positive number
greater than 0.
SocketException - if an error occurs while setting the size or the given value
is an invalid size.SocketOptions.SO_SNDBUF
public void setReceiveBufferSize(int size)
throws SocketException
size - the buffer size in bytes. This value must be a positive number
greater than 0.
SocketException - if an error occurs while setting the size or the given value
is an invalid size.SocketOptions.SO_RCVBUF
public void setSoLinger(boolean on,
int timeout)
throws SocketException
SocketOptions.SO_LINGER with the given
timeout in seconds. The timeout value for this option is silently limited
to the maximum of 65535.
on - the state whether this option is enabled or not.timeout - the linger timeout value in seconds.
SocketException - if an error occurs while setting the option.SocketOptions.SO_LINGER
public void setSoTimeout(int timeout)
throws SocketException
0. The timeout must be set before calling the read operation. A
SocketTimeoutException is thrown when this timeout expires.
timeout - the reading timeout value as number greater than 0 or
0 for an infinite timeout.
SocketException - if an error occurs while setting the option.SocketOptions.SO_TIMEOUT
public void setTcpNoDelay(boolean on)
throws SocketException
SocketOptions.TCP_NODELAY for this socket.
on - the state whether this option is enabled or not.
SocketException - if an error occurs while setting the option.SocketOptions.TCP_NODELAY
void startupSocket(InetAddress dstAddress,
int dstPort,
InetAddress localAddress,
int localPort,
boolean streaming)
throws IOException
dstAddress - the destination host address.dstPort - the port on the destination host.localAddress - the address on the local machine to bind.localPort - the port on the local machine to bind.
IOException - thrown if an error occurs during the bind or connect
operations.public String toString()
String containing a concise, human-readable description of the
socket.
toString in class Object
public void shutdownInput()
throws IOException
EOF.
IOException - if an error occurs while closing the socket input stream.
SocketException - if the input stream is already closed.
public void shutdownOutput()
throws IOException
IOException.
IOException - if an error occurs while closing the socket output stream.
SocketException - if the output stream is already closed.public SocketAddress getLocalSocketAddress()
null if the socket is unbound. This is useful on multihomed
hosts.
public SocketAddress getRemoteSocketAddress()
SocketAddress or null if the socket is not connected.
public boolean isBound()
true if the socket is bound to a local address, false otherwise.public boolean isConnected()
true if the socket is connected, false otherwise.public boolean isClosed()
true if the socket is closed, false otherwise.
public void bind(SocketAddress localAddr)
throws IOException
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.
public void connect(SocketAddress remoteAddr)
throws IOException
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.
public void connect(SocketAddress remoteAddr,
int timeout)
throws IOException
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.public boolean isInputShutdown()
true if reading from this socket is not possible anymore,
false otherwise.public boolean isOutputShutdown()
true if writing to this socket is not possible anymore,
false otherwise.
public void setReuseAddress(boolean reuse)
throws SocketException
SocketOptions.SO_REUSEADDR for this socket.
reuse - the state whether this option is enabled or not.
SocketException - if an error occurs while setting the option.SocketOptions.SO_REUSEADDR
public boolean getReuseAddress()
throws SocketException
SocketOptions.SO_REUSEADDR.
true if the SocketOptions.SO_REUSEADDR is
enabled, false otherwise.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_REUSEADDR
public void setOOBInline(boolean oobinline)
throws SocketException
SocketOptions.SO_OOBINLINE for this socket.
When this option is enabled urgent data can be received in-line with
normal data.
oobinline - whether this option is enabled or not.
SocketException - if an error occurs while setting the option.SocketOptions.SO_OOBINLINE
public boolean getOOBInline()
throws SocketException
SocketOptions.SO_OOBINLINE.
true if the SocketOptions.SO_OOBINLINE is
enabled, false otherwise.
SocketException - if an error occurs while reading the socket option.SocketOptions.SO_OOBINLINE
public void setTrafficClass(int value)
throws SocketException
SocketOptions.IP_TOS for this socket. See
the specification RFC 1349 for more information about the type of service
field.
value - the value to be set for this option with a valid range of
0-255.
SocketException - if an error occurs while setting the option.SocketOptions.IP_TOS
public int getTrafficClass()
throws SocketException
SocketOptions.IP_TOS.
SocketException - if an error occurs while reading the socket option.SocketOptions.IP_TOS
public void sendUrgentData(int value)
throws IOException
value as "TCP urgent data".
value - the byte of urgent data to be sent.
IOException - if an error occurs while sending urgent data.void accepted()
ServerSocket.accept().
ServerSocket.implAccept(java.net.Socket)static boolean preferIPv4Stack()
public SocketChannel getChannel()
null.
null if no channel exists.
public void setPerformancePreferences(int connectionTime,
int latency,
int 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.
|
Build 1.1_r1 (from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||