Sockets form the
underpinnings
of all networking protocols. JDBC, RMI, CORBA, EJB, and the non-Java
RPC (Remote Procedure Call), the foundation of the Network File
System, or NFS: all of these are implemented by connecting various
types of sockets together. Socket connections can be implemented in
many languages, not just Java: C, C++, Perl, and Python are also
popular, and many others are possible. A client or server written in
any one of these languages can communicate with its opposite written
in any of the other languages. Therefore, it’s worth taking a
quick look at how the ServerSocket
behaves, even
if you wind up utilizing the higher-level services such as RMI, JDBC,
CORBA, or EJB.
The discussion looks first at the ServerSocket
itself, then at writing data over a socket in various ways. Finally,
there is a complete implementation of a usable network server written
in Java: the chat server from the client in the previous chapter.
3.145.96.86