[comp.windows.x] IPC using the X Server

twl@cadreri.UUCP (Todd W. Lainhart) (03/11/91)

Our applications currently communicate with one another via multiple models, depending
upon the platform (shared memory, queues, named pipes, sockets, "mailboxes", etc.).
It's a pain to maintain, and non-portable.

I'm currently thinking of modifying that model for applications running under X,
by using root window properties.  Because ClientMessages only allow ~20 bytes
of data to be sent between applications (I need anywhere between 100-250), this
functionality is not sufficient.

So, I thought that I would attach a property to the root window (via an Atom known
to cooperating applications) and pass data via the property.  The receiver of the
data would get a PropertyNotify (I think that's what it's called) event, extract
the data, and act accordingly.

Does this sound like a reasonable solution to the portable IPC problem (at least,
when there's a bunch of data to be passed around)?  In other words, does anyone
have any experience regarding performance of property change events between
communicating X clients?  I expect that there would be ~10 Properties attached to
the root window, with each property tracking ~150 bytes of data.  It's my hope
that using Properties for IPC will be just as efficient as the other mechanisms
for IPC that we currently use (and so, I can get rid of them, and have a single
source for input events).

Thanks for your consideration.