[comp.windows.misc] ICCCM & Properties

alex@hpgnd.grenoble.hp.com (Alexis MERMET-GRANDFILLES) (04/09/91)

Hello,

1/

I am looking for the latest Inter Client Communication Conventions document.

I have got the O'reily books which say that it should appear in the 
Appendix L of the volume 0 : X protocol Reference Manual.

Unfortunately, my volume 0 book ends at appendix K. too bad...

Does anybody know where to find this text or this document ?


2/

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.


Does this sound feasable ?
Any performance concerns ? 
Any better ideas ?

What is the limitted amount of data that a X11-server may store in
a single property ?


Thank very much for any help !



--------------------------------------------------------------------------
Alexis MERMET-GRANDFILLES             HEWLETT-PACKARD
Tel: 76 62 12 11                      Grenoble Network Division
Fax: 76 62 52 00                      5 avenue Raymond Chanas - EYBENS
alex@hpgndxo.hp.com                   38053 GRENOBLE CEDEX 9
-------------------------------------------------------------------------

clgreen@nsslsun.gcn.uoknor.edu (Cliff Green) (04/12/91)

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

adri@dutncp8.tudelft.nl (A.B. van Woerkom) (04/24/91)

alex@hpgnd.grenoble.hp.com (Alexis MERMET-GRANDFILLES) writes:


>2/

>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.


>Does this sound feasable ?

Sounds like reinventing the wheel.  The Xt-intrinsics offer a set of functions
that implement the so-called selection mechanism.  Using this mechanism it is
quite easy to transfer large amounts of data from one client to the other;
when the amount meets a limit the intrinsics will handle the chopping in chunks
for you.
So, have a look at XtOwnSelection and friends.
--
A.B. van Woerkom, adri@dutncp6.tudelft.nl
Delft University of Technology, Faculty of Applied Physics, Physics
Informatics Group, section Computational Physics, Lorentzweg 1,
2628 CJ  DELFT, The Netherlands
________________________________________________________________________
"Unfortunately, the current generation of mail programs do not have checkers
 to see if the sender knows what he is talking about" (A.S. Tanenbaum)