Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!brutus.cs.uiuc.edu!jarthur!elroy.jpl.nasa.gov!decwrl!sgi!shinobu!odin!fudge!karlton From: karlton@fudge.sgi.com (Phil Karlton) Newsgroups: comp.windows.x Subject: Re: Inter client communication Keywords: XClientMessageEvent Message-ID: <4496@odin.SGI.COM> Date: 23 Feb 90 19:28:04 GMT References: <3010@soleil.oakhill.UUCP> Sender: news@odin.SGI.COM Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 36 In article <3010@soleil.oakhill.UUCP> ephrem@oakhill.UUCP (Ephrem Chemaly) writes: >I would like the data >collected by this 'collector client' to be sent to other X clients >to be analyzed, displayed, saved, etc. I am using the >XSendEvent(..., XClientMessageEvent) to send the data to all clients >that registered their interest with the 'collector client'. This allows >me to send 20 bytes of data at a time. There is another way to tackle this particular communication paradigm. Have the "collecting" client create a window and publish its ID by hanging a property on the root windo under some private property name, say "_CHEMALY_PROPERTIES". Have the collecting client hang properties of an appropriate name and type on that published window ID. As displayers come and go, have them select for PropertyNotify on that window. This way the X server takes care of the registration and shut down for you. Additionally, you can transfer more than 20 bytes at a time. Be careful of mixing data of different sizes (8, 16 or 32 bits) within a single property because this will byte you if you ever run the collector and displayer on machines with different byte orderings. If you have more than one set of collectors and displayers then you will have to have a more complicated initial handshake for determinating the window to be used. PK -- Phil Karlton karlton@sgi.com Silicon Graphics Computer Systems 415-335-1557 2011 N. Shoreline Blvd. Mountain View, CA 94039 Phil Karlton karlton@sgi.com Silicon Graphics Computer Systems 415-335-1557 2011 N. Shoreline Blvd. Mountain View, CA 94039