Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!bloom-beacon!dont-send-mail-to-path-lines From: smarks@eng.sun.COM (Stuart Marks) Newsgroups: comp.windows.x Subject: Re: ICCM and Properties Message-ID: <9104121946.AA17755@trantor.Eng.Sun.COM> Date: 12 Apr 91 19:46:52 GMT References: <2190001@hpgnd.grenoble.hp.com> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 76 alex@hpgnd.grenoble.hp.com (Alexis MERMET-GRANDFILLES) writes: 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... Sounds like you have an old version of this book. I have the second printing (May 1990) which includes the ICCCM and some other stuff. The ICCCM is also also reprinted in Scheifler/Gettys, The X Window System, Digital Press. The ICCCM can also be found in troff and PostScript formats in the X11R4 distribution under doc/ICCCM and hardcopy/ICCCM, respectively. 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. The ICCCM defines a way to transfer arbitrary amounts of data through the server. See the section on selections, in particular, section 2.5: Large Data Transfers. It's somewhat similar to the scheme you describe, but more robust. What is the limitted amount of data that a X11-server may store in a single property ? This is one of the problems. The protocol says, under ChangeProperty, "The maximum size of a property is server-dependent and may vary dynamically." You can't tell whether you can store data except by trying to store it and seeing whether it succeeds. Does this sound feasable ? Any performance concerns ? I would say that a client-server design based on transport through the X server is pretty fragile. The means to do it certainly exist. Whether it's a good idea is another story. It might be feasible under very controlled circumstances, where you own all the clients and servers, and where you control the amount of data and the frequency with which it's transferred. I would be very concerned if you advertised this mechanism to, for example, your customers. It may work fine on your test bench. But sooner or later someone is going to use your system in a way you didn't intend for it to be used. For example, they might try to transfer large files using this method. Or they might be running your system on an X terminal connected over a serial line. You can be sure there will be performance problems if that happens. Any better ideas ? Yes. Use a real network. Transferring stuff through the X server should be avoided unless you have no other choice. 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 Oh... you work for a competitor... Well, in that case, disregard everything I just said. Go ahead and transfer everything through the X server. It will be fast and will work perfectly every time. :-) s'marks Stuart W. Marks ARPA: smarks@eng.sun.com Windows & Graphics Software UUCP: sun!smarks Sun Microsystems, Inc.