TCP/IP and the server<->client model in 4.2BSD

Dan Levin N6BZA djl at fisher.UUCP
Fri Dec 14 15:12:20 AEST 1984


Ok wizards, here is your big chance to help a real problem child.
I am convinced I am missing a *major* clue here, but for the life
of me I cannot figure out what to do.

Here is the scenario.  I have a need to produce a system (a graphics
editor of sorts) consisting of one server and n clients, where n
is ~12.  The server will reside on a given machine (the VAX at the
center of a cluster of SUNs), and the clients are mixed arbitrarily
among the five SUNs on the network.  Thus, we can have from zero to
12 clients running on any one SUN, all talking to the central server.

For various reasons (and this may be the heart of the problem), I choose
to implement this beast using TCP/IP (ie. SOCK_STREAM/AF_INET, all machines
run 4.2BSD).  This decision was based mostly on the need for reliable
communications (I did not want to run the risk of using SOCK_DGRAM and
loosing packets now and then, the network is rather busy).

The question is, how can I make all the clients talk to one socket
on the server.  The way I have things arranged now, the client
makes a request to start up to a predetermined port, and the server
then gives the client his own send and receive ports for all future
communications.  This means that the server has to listen to
up to ~24 different ports, or does it?  It makes perfect sense to
me that each client have his own receiving port, at least on a per
machine basis.  Two clients on machine 'jojo' cannot both receive
at port 6666.  But, is it really the case that a client on jojo and
another on phred cannot both listen to port 6666 on their respective
machines.  And, more importantly, why does bind() prohibit more than
one client from sending input to port 6667 on the server's machine?

Pointers to manuals gleefully accepted, as are patient descriptions
of my more major blunders.  Please reply by mail, unless you
feel the content will interest the net.

Thanks,

-- 
			***dan

{allegra,astrovax,princeton,twg}!fisher!djl
The misplaced (What *are* those trees doing??) Californian



More information about the Comp.unix.wizards mailing list