[…]
I’ll probably be writing the debugging application in python, but
thats not terribly relevant to the question. My question is how should
implement inter-process communications ? What libraries could I use to
achieve communication in-between two programs quickly and painlessly ?
(SDL_Net, Sockets, D-Bus, etc …) Development is almost exclusively
on Linux so I don’t care if it would break cross platform
compatibility.
I’ve been doing a bit of that stuff with embedded systems (lab instrumenst),
using TCP/IP via SDL_net and NET2. Communication with the Windows GUI was done
using the same basic protocol anyway, so it was handy to just build on that.
The instrument would act as a server, allowing one or more clients to connect
to it, upload scripts etc. (That was actually the protocol; send a script
over, talking to the local server APIs, sending back whatever the client
needed.)
I wanted the tools to run “everywhere” (my Linux devsystems and the Windows
boxes in the lab), so they’re all written in EEL (custom scripting engine that
I originally designed for the purpose of doing 1+ kHz realtime scripting on
those instruments), and of course, SDL and TCP/IP is available on pretty much
anything.
Also, since NET2 provides an event based API, it’s easy to deal with
asynchronous communication without dealing with thread synchronization issues
all over the place.
On those instruments, I also made send operations guaranteed non-blocking by
means of lock-free FIFOs (I think that’s actually still in EELBox…), but
that’s probably overkill unless you’re doing something critical on a proper
realtime OS.On Wednesday 16 May 2012, at 02.56.08, Jason White wrote:
–
//David Olofson - Consultant, Developer, Artist, Open Source Advocate
.— Games, examples, libraries, scripting, sound, music, graphics —.
| http://consulting.olofson.net http://olofsonarcade.com |
’---------------------------------------------------------------------’