|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.net.SocketImpl
public abstract class SocketImpl
This abstract class serves as the parent class for socket implementations. The implementation class serves an intermediary to native routines that perform system specific socket operations.
A default implementation is provided by the system, but this can be
changed via installing a SocketImplFactory
(through a call
to the static method Socket.setSocketImplFactory
). A
subclass of Socket
can also pass in a SocketImpl
to the Socket(SocketImpl)
constructor to use an
implementation different from the system default without installing
a factory.
Field Summary | |
---|---|
protected InetAddress |
address
The address of the remote end of the socket connection |
protected FileDescriptor |
fd
A FileDescriptor object representing this socket connection. |
protected int |
localport
The port number the socket is bound to locally |
protected int |
port
The port number of the remote end of the socket connection |
Fields inherited from interface java.net.SocketOptions |
---|
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY |
Constructor Summary | |
---|---|
SocketImpl()
Default, no-argument constructor for use by subclasses. |
Method Summary | |
---|---|
protected abstract void |
accept(SocketImpl s)
Accepts a connection on this socket. |
protected abstract int |
available()
Returns the number of bytes that the caller can read from this socket without blocking. |
protected abstract void |
bind(InetAddress host,
int port)
Binds to the specified port on the specified addr. |
protected abstract void |
close()
Closes the socket. |
protected abstract void |
connect(InetAddress host,
int port)
Connects to the remote address and port specified as arguments. |
protected abstract void |
connect(SocketAddress address,
int timeout)
Connects to the socket to the host specified in address. |
protected abstract void |
connect(String host,
int port)
Connects to the remote hostname and port specified as arguments. |
protected abstract void |
create(boolean stream)
Creates a new socket that is not bound to any local address/port and is not connected to any remote address/port. |
protected FileDescriptor |
getFileDescriptor()
Returns the FileDescriptor objects for this socket. |
protected InetAddress |
getInetAddress()
Returns the remote address this socket is connected to |
protected abstract InputStream |
getInputStream()
Returns an InputStream object for reading from this socket. |
protected int |
getLocalPort()
Returns the local port this socket is bound to |
protected abstract OutputStream |
getOutputStream()
Returns an OutputStream object for writing to this socket |
protected int |
getPort()
Returns the remote port this socket is connected to |
protected abstract void |
listen(int backlog)
Starts listening for connections on a socket. |
protected abstract void |
sendUrgentData(int data)
Sends one byte of urgent data to the socket. |
protected void |
shutdownInput()
Shut down the input side of this socket. |
protected void |
shutdownOutput()
Shut down the output side of this socket. |
protected boolean |
supportsUrgentData()
Returns true or false when this socket supports sending urgent data or not. |
String |
toString()
Returns a String representing the remote host and port of
this socket. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.net.SocketOptions |
---|
getOption, setOption |
Field Detail |
---|
protected InetAddress address
protected FileDescriptor fd
protected int localport
protected int port
Constructor Detail |
---|
public SocketImpl()
Method Detail |
---|
protected abstract void create(boolean stream) throws IOException
stream
- true for a stream socket, false for a datagram socket
IOException
- If an error occursprotected abstract void connect(String host, int port) throws IOException
host
- The remote hostname to connect toport
- The remote port to connect to
IOException
- If an error occursprotected abstract void connect(InetAddress host, int port) throws IOException
host
- The remote address to connect toport
- The remote port to connect to
IOException
- If an error occursprotected abstract void connect(SocketAddress address, int timeout) throws IOException
address
- Data of remote hosttimeout
- time to wait to stop connecting
IOException
- If an error occursprotected abstract void bind(InetAddress host, int port) throws IOException
Note that it is unspecified how to bind to all interfaces on the localhost (INADDR_ANY).
host
- The address to bind toport
- The port number to bind to
IOException
- If an error occursprotected abstract void listen(int backlog) throws IOException
backlog
- The length of the pending connection queue
IOException
- If an error occursprotected abstract void accept(SocketImpl s) throws IOException
s
- The implementation object for the accepted connection.
IOException
- If an error occursprotected abstract InputStream getInputStream() throws IOException
InputStream
object for reading from this socket.
InputStream
for reading from this socket.
IOException
- If an error occursprotected abstract OutputStream getOutputStream() throws IOException
OutputStream
object for writing to this socket
OutputStream
for writing to this socket.
IOException
- If an error occurs.protected abstract int available() throws IOException
IOException
- If an error occursprotected abstract void close() throws IOException
Note that if the SO_LINGER option is set on this socket, then the operation could block.
IOException
- If an error occursprotected FileDescriptor getFileDescriptor()
protected InetAddress getInetAddress()
protected int getPort()
protected boolean supportsUrgentData()
protected abstract void sendUrgentData(int data) throws IOException
data
- The byte to send, the low eight bits of it
IOException
- If an error occursprotected int getLocalPort()
public String toString()
String
representing the remote host and port of
this socket.
toString
in class Object
String
for this socket.Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
protected void shutdownInput() throws IOException
IOException
- if an error occursprotected void shutdownOutput() throws IOException
IOException
- if an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |