TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TCLUG:12935] Remote X (client/server rant)



Eric M. Hopper said:
> 	Servers are things that wait for clients to connect and request
> services.  X clients are programs that connect to X servers and ask them
> to display stuff for them.

But, when you've got a UI, most activities are initiated from the user's side.

> 	The whole "Me Server!  Me big box in back room with good IO
> bandwidth!" and "Me Client!  Me tiny box on person's desk." view of
> client/server is what happened when mainframe people descended on the
> UNIX and PC world and tried to make sense of the technology from within
> their worldview.  IMHO, this mindset leads to a lot of innefficiency and
> muddled thinking.

My view of the terms is that the client initiates action and the server
responds.  When I'm on thisbox and execute 'ssh otherbox command', command
may be running on otherbox and open a connection to thisbox so it can display
itself, but it's doing so in response to a request that came from thisbox.
IMO, that means that thisbox is the client and otherbox is the server,
despite X's claim that it's the other way around.

> TCP/IP is inherently a peer-to-peer network, and the
> client/server distinction refers only to who does the connecting and who
> does the waiting for a connection.

Aside from confusion with X having the user sit at the server, which then
talks to the client instead of the other way around, this distinction breaks
down for a number of applications (most of which have difficulty dealing with
IP masqing) where the client connects to the server which then may open a
connection back to the client.  By your definitition, both pieces of software
are then both clients and servers to each other, even if one is merely
reacting to requests made by the other.  (It could definitely be argued that
they have different roles for different transactions, but the overall/general
identities are not, IMO, so fickle.)

-- 
Geek Code 3.1:  GCS d- s+: a- C++ UL++$ P+>+++ L++>++++ E- W--(++) N+ o+ !K
w---$ O M- !V PS+ PE Y+ PGP t 5++ X+ R++ tv- b++ DI++++ D G e* h+ r++ y+