This class implements a socket for
stream-based communication over the network. See
URL for a higher-level interface to networking and
DatagramSocket for a lower-level interface.
Before you can use a socket for communication, it must be
bound to a local address and
connected to a remote address. Binding and
connection are done automatically for you when you call any of the
Socket( ) constructors except the no-argument
constructor. These constructors allow you to specify either the name
InetAddress of the computer to connect to,
and also require you to specify the port number to connect to. Two of
these constructors also allow you to specify the local
InetAddress and port number to bind the socket to.
Most applications do not need to specify a local address, and can
simply use one of the two-argument versions of
) and can allow the constructor to choose an ephemeral
local port to bind the socket to.
Socket( ) constructor is different
from the others: it creates an unbound and unconnected socket. In
Java 1.4 and later, you can explicitly call
connect( ) to bind and connect the socket. It can
be useful to do this when you want to set a socket option (described
below) that must be set before binding or connection.
) uses a
SocketAddress object to
describe the local address to bind to, and
) uses a
SocketAddress to specify the
remote address to connect to. There is also a version of
connect( ) that takes a ...