Several test programs have been provided which, in addition to making
sure the code works, serve as examples of how to use the library
routines.

The test programs are set up to work in pairs; client1 works with
server1, client2 works with server2 and so on.

Testing is most easily done on a windowing system.  Open a window,
and start up a server program:
% server1
Then open another window, and start up a client program:
% client1

Test program descriptions:

client1/server1 - server1 waits for a client1 to connect and prints
	out any and all input it recieve from the client.  Once the
	client disconnects the server waits for another connection.
	Client1 connects to the server, and accepts input from the
	standard input which it sends to the server. Upon receipt
	of an EOF (^D) client1 stops and says goodbye.

client2/server2 - server2 waits a short while for a client to connect.
	If no client attempts a connection, the server goes off and
	does something else, and then waits again.  If a client connects,
	then server2 behaves the same as server1.  Client2 is identical
	to client1.

client3/server3 - Server3 is able to multiplex clients.  Whenever one
	of the clients is ready for reading, the server reads a single
	line, and then waits again.  Client3 requires no user input;
	it carries on a trivial conversation with the server. I found
	this command to be usefull for starting several client3 programs:
	% sleep 6 ; ( client3 & client3 & client3 & )
	The command waits six seconds ( giving me time to bring up the
	window I was running the server in ), and then starts three client3
	programs in parallel.
