Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site fisher.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!astrovax!fisher!djl From: djl@fisher.UUCP (Dan Levin N6BZA ) Newsgroups: net.unix-wizards Subject: TCP/IP and the server<->client model in 4.2BSD Message-ID: <448@fisher.UUCP> Date: Fri, 14-Dec-84 00:12:20 EST Article-I.D.: fisher.448 Posted: Fri Dec 14 00:12:20 1984 Date-Received: Sat, 15-Dec-84 00:39:31 EST Organization: Princeton Univ. Statistics Lines: 41 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