An exercise in Java sockets and client/server software