Examples
One of the first large-scale Java programs was HotJava, a web browser that was easily the equal of the early versions of Mosaic. Today’s HotJava is easily comparable to Netscape Navigator, Opera, or Internet Explorer. It is completely possible to write commercial-quality applications in Java, and it is especially possible to write network-aware applications, both clients and servers. This section shows two network clients, finger and whois, to prove this point. I stop short of what could be done, but only in the user interface. All the necessary networking code is present. Indeed, once again we find out that network code is easy; it’s user interfaces that are hard.
Finger
Finger is a
straightforward protocol described in RFC 1288. The client makes a
TCP connection to the server on port 79 and sends a one-line query;
the server responds to the query and closes the connection. The
format of the query is precisely defined, the format of the response
somewhat less so. All data transferred should probably be pure
printable ASCII text, though unfortunately the specification
contradicts itself repeatedly on this point. The specification also
recommends that clients filter out any non-ASCII data they do
receive, at least by default.[18] All lines must end with a carriage return/linefeed pair
(\r\n
in Java parlance).
The simplest allowable request from the client is a bare carriage return/linefeed pair, which is usually interpreted as a request to show a list of the currently logged-in ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.