public abstract class java.net
SocketImpl


Show All Login
Java SE 6
  
Implements: SocketOptions
Details
The abstract class SocketImpl is a common superclass of all classes that actually implement sockets. It is used to create both client and server sockets.

A "plain" socket implements these methods exactly as described, without attempting to go through a firewall or proxy.
version1.44, 04/07/06
sinceJDK1.0


Fields
protected java.io.FileDescriptor fd
The file descriptor object for this socket.
protected InetAddress address
The IP address of the remote end of this socket.
protected int port
The port number on the remote host to which this socket is connected.
protected int localport
The local port number to which this socket is connected.

Constructors
public SocketImpl()

Methods
abstract protected void accept(SocketImpl s) throws IOException Details
Accepts a connection.
sthe accepted connection.
ThrowsIOException: if an I/O error occurs when accepting the connection.
abstract protected int available() throws IOException Details
Returns the number of bytes that can be read from this socket without blocking.
returnthe number of bytes that can be read from this socket without blocking.
ThrowsIOException: if an I/O error occurs when determining the number of bytes available.
abstract protected void bind(InetAddress host, int port) throws IOException Details
Binds this socket to the specified local IP address and port number.
hostan IP address that belongs to a local interface.
portthe port number.
ThrowsIOException: if an I/O error occurs when binding this socket.
abstract protected void close() throws IOException Details
Closes this socket.
ThrowsIOException: if an I/O error occurs when closing this socket.
abstract protected void connect(String host, int port) throws IOException Details
Connects this socket to the specified port on the named host.
hostthe name of the remote host.
portthe port number.
ThrowsIOException: if an I/O error occurs when connecting to the remote host.
abstract protected void connect(InetAddress address, int port) throws IOException Details
Connects this socket to the specified port number on the specified host.
addressthe IP address of the remote host.
portthe port number.
ThrowsIOException: if an I/O error occurs when attempting a connection.
abstract protected void connect(SocketAddress address, int timeout) throws IOException Details
Connects this socket to the specified port number on the specified host. A timeout of zero is interpreted as an infinite timeout. The connection will then block until established or an error occurs.
addressthe Socket address of the remote host.
timeoutthe timeout value, in milliseconds, or zero for no timeout.
ThrowsIOException: if an I/O error occurs when attempting a connection.
since1.4
abstract protected void create(boolean stream) throws IOException Details
Creates either a stream or a datagram socket.
streamif true, create a stream socket; otherwise, create a datagram socket.
ThrowsIOException: if an I/O error occurs while creating the socket.
abstract protected void listen(int backlog) throws IOException Details
Sets the maximum queue length for incoming connection indications (a request to connect) to the count argument. If a connection indication arrives when the queue is full, the connection is refused.
backlogthe maximum length of the queue.
ThrowsIOException: if an I/O error occurs when creating the queue.
abstract protected void sendUrgentData(int data) throws IOException Details
Send one byte of urgent data on the socket. The byte to be sent is the low eight bits of the parameter
dataThe byte of data to send
ThrowsIOException: if there is an error sending the data.
since1.4
protected void shutdownInput() throws IOException Details
Places the input stream for this socket at "end of stream". Any data sent to this socket is acknowledged and then silently discarded. If you read from a socket input stream after invoking shutdownInput() on the socket, the stream will return EOF.
ThrowsIOException: if an I/O error occurs when shutting down this socket.
since1.3
See also shutdownOutput(), close(), setSoLinger(boolean, int)
protected void shutdownOutput() throws IOException Details
Disables the output stream for this socket. For a TCP socket, any previously written data will be sent followed by TCP's normal connection termination sequence. If you write to a socket output stream after invoking shutdownOutput() on the socket, the stream will throw an IOException.
ThrowsIOException: if an I/O error occurs when shutting down this socket.
since1.3
See also shutdownInput(), close(), setSoLinger(boolean, int)
protected boolean supportsUrgentData() Details
Returns whether or not this SocketImpl supports sending urgent data. By default, false is returned unless the method is overridden in a sub-class
returntrue if urgent data supported
since1.4
See also address
public String toString() Details
Returns the address and port of this socket as a String.
returna string representation of this socket.

Properties
protected java.io.FileDescriptor getFileDescriptor() Details
Returns the value of this socket's fd field.
returnthe value of this socket's fd field.
See also fd
protected InetAddress getInetAddress() Details
Returns the value of this socket's address field.
returnthe value of this socket's address field.
See also address
abstract protected InputStream getInputStream() throws IOException Details
Returns an input stream for this socket.
returna stream for reading from this socket.
ThrowsIOException: if an I/O error occurs when creating the input stream.
protected int getLocalPort() Details
Returns the value of this socket's localport field.
returnthe value of this socket's localport field.
See also localport
abstract protected OutputStream getOutputStream() throws IOException Details
Returns an output stream for this socket.
returnan output stream for writing to this socket.
ThrowsIOException: if an I/O error occurs when creating the output stream.
protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth) Details
Sets performance preferences for this socket.

Sockets use the TCP/IP protocol by default. Some implementations may offer alternative protocols which have different performance characteristics than TCP/IP. This method allows the application to express its own preferences as to how these tradeoffs should be made when the implementation chooses from the available protocols.

Performance preferences are described by three integers whose values indicate the relative importance of short connection time, low latency, and high bandwidth. The absolute values of the integers are irrelevant; in order to choose a protocol the values are simply compared, with larger values indicating stronger preferences. Negative values represent a lower priority than positive values. If the application prefers short connection time over both low latency and high bandwidth, for example, then it could invoke this method with the values (1, 0, 0). If the application prefers high bandwidth above low latency, and low latency above short connection time, then it could invoke this method with the values (0, 1, 2). By default, this method does nothing, unless it is overridden in a a sub-class.
connectionTimeAn int expressing the relative importance of a short connection time
latencyAn int expressing the relative importance of low latency
bandwidthAn int expressing the relative importance of high bandwidth
since1.5

protected int getPort() Details
Returns the value of this socket's port field.
returnthe value of this socket's port field.
See also port