Building client-server systems: exercises in network communication

One of the greatest joys of Java is the way in which socket communication has been simplified. For those who remember setting socket families, ports and host pointers, then setting the INET address with Csocket. sin_addr.s_addr=((struct in_addr*) (h_ptr-<h_addr))_<s_addr; before creating the socket and binding it to the local address, Java is not so much an improvement as revolution. That is not to say that sophistication has gone along with the complexity. This paper examines the way in which CS 463, a senior level Networks course examines Java socket communication through a staged approach building upon communications concepts and providing practical application of those concepts.