Newsgroups: comp.windows.misc
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!maverick.ksu.ksu.edu!unmvax!uokmax!clgreen
From: clgreen@nsslsun.gcn.uoknor.edu (Cliff Green)
Subject: Re: ICCCM & Properties
Message-ID: <1991Apr12.152212.15360@uokmax.ecn.uoknor.edu>
Sender: clgreen@nsslsun.gcn.uoknor.edu (Cliff Green)
Organization: National Severe Storms Laboratory
Date: Fri, 12 Apr 1991 15:22:12 GMT

In article <2140001@hpgnd.grenoble.hp.com> alex@hpgnd.grenoble.hp.com (Alexis MERMET-GRANDFILLES) writes:
>I am trying to find out what is the best way to transfer quite a big
>amount of Data ( Several KBytes ) between 2 X clients.
>
>In fact, I am thinking of a X11 client which acts as a server for many
>other clients. On the request of those clients, this 'server'
>would send somehow some kind of data, from a few bytes to several KBytes
>to the requesting client.
>
>I was thinking of writing the complete buffer into a pre-defined root
>window property, and then , sending a ClientMessage to the waiting client
>to tell him the data is ready and where it is.
>

I'm a little unclear on some of the details (the usual confusion between
X client/servers and general client/servers as well as not knowing what
kind of data needs to be passed and in what fashion) but I wanted to pass
along my experiences in a project here at the lab.

We're working on a system to display/edit Doppler radar images and algorithm
overlay output using X window and Motif.  The amount of data being passed
around is huge - 3 or more radar images each greater than 500,000 bytes
along with associated housekeeping and overlay data.  I designed a server
process (in the network server/client sense of the word) which takes requests
from one or more clients (which are also X clients), reads/writes data to/from
disk, and passes the response back to the client.  I used standard TCP/IP
socket programming and have not had any problems running on both Sun and 
VAX systems.  Unless there are special considerations this is a good method
to use - it is reasonably portable, fairly easy to program (there are many
good books on the subject), and very flexible - we are able to access data
from heterogeneous systems and/or spread the processing load between systems.
There are details to be careful with, but many advantages, some of which we
have yet to take advantage of (such as anticipatory I/O handling).

E-mail me if you need details and/or source.  Good Luck!

----
Cliff Green   clgreen@nsslsun.gcn.uoknor.edu   (405) 366-0470

