in reply to IPC recommendations needed
I would do this:
Every time you fork, create a socketpair.
This gets passed to the child.
You can use this socket to pass data back and forth.
All it is is an unnamed pipe.
You'd communicate to it as you would a socket.
I've done this many times.