PDA

View Full Version : Ultimate solution for Qt cross-platform IPC



ManuMies
3rd February 2009, 10:08
I'm looking for a best solution to make IPC between the client and the server, so that it works cross-platform. Hopefully for S60 too, in future.

What's the best way to do this?

Ex. Is QSharedMemory + QSystemSemaphore method working? If does, can someone show me a good example?

Link: Inter-Process Communication in Qt (http://web.mit.edu/qt-dynamic_v4.4.3/www/ipc.html)

jpn
3rd February 2009, 11:05
How about QxtRPCService (http://doc.libqxt.org/latest/classQxtRPCService.html) or QxtRPCPeer (http://doc.libqxt.org/latest/classQxtRPCPeer.html)? They are able to transmit signals over any QIODevice and a network connection, respectively.

ManuMies
3rd February 2009, 11:17
Hmm... Sounds very interesting and promising.

More info or examples? Are you sure, that this will be working with S60 for example?

And by client and server, I mean two processes, not over the network. AKA client-engine architecture.

jpn
3rd February 2009, 11:36
More info or examples?
At least something can be found in trunk/examples and trunk/tests/unit/network/rpc.


Are you sure, that this will be working with S60 for example?
Well, there's no platform specific code. It's all written with pure Qt. Provided that all involved classes were already ported to the S60 tech preview, it should work. Let us know if it doesn't... :)


And by client and server, I mean two processes, not over the network. AKA client-engine architecture.
QxtRPCPeer is just provided for convenience. The base class does all the work. The device could be for example a local socket as well.

ManuMies
3rd February 2009, 11:54
I've understood, that QSocket is not working with S60, so I guess this won't either.

How about that QSharedMemory? Could that do the trick?