This stuff is 4.3BSD code for setting up and accessing a server process
for a network.  The server code simply sets up a datagram socket which it
registers on a particular port and then listens for requests.  The client
then sends out a broadcast message (the idea is that the server exists, or
not, on n machines somewhere on the network, but nobody knows where!) which
should be responded to if the server is active.  If there is a response,
the client code then connects its end of the datagram socket to the server
and starts firing away.

The most obvious application (to someone like me) of all of this is a
distributed game, with a referee which runs on one arbitrary machine on the
net and a client process for each player.  If a client looks for a server
and can't find one then it should fork off a server process and try again.
The server receives all requests on the same socket, so there will have to
be some specific sign-on protocol and it will have to deal with address-name
mapping in its own way.

BUGS & SHORTCOMINGS:
	- Currently set up in such a way that it depends on INET protocols
	  (specifically for the client sign-on broadcasting).
	- Doesn't at all deal with host-network data format mapping and
	  such potential problems.
	- Depends on the datagram socket protocol.
	- I've been told that this duplicates some of the functionality of
	  Sun RPC code and the XDR (Xternal Data Representation?) library.

MANIFEST:
	This package should include these files:

README		- you're reading it.
Makefile	- a simple makefile for creating the test programs.
client.c	- the client code
client.h	- the client interface specification
server.c	- the server code
server.h	- the server interface specification
comm.h		- defines common to server and client (for communication)
serv.c		- The server test program.
findserv.c	- The client test program.
service.h	- Defines the port and service name of the test program.


				Happy hacking,
				Lee Iverson
				leei@larry.ee.mcgill.edu.UUCP
				utcsri!mcgill-vision!leei
				leei%mcgill-vision.UUCP@uw-beaver.ARPA
				Mcgill University, Montreal
				Computer Vision and Robotics Lab
