Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

remote procedure calls

Tags:

c++

windows

rpc

Does any one know a good way to do remote procedure calls in windows (non .net) environmental?

I cant find much information on how to do it and the msdn only has the .net version.

.

Edit:

Thanks for the answers so far. What i need it for is to communicate with a service on the same computer which will send progress reports back to the "client". The reason im intersted in rpc is because of vistas uac and how services cant talk to normal apps unless they use rpc or pipes. Looking into pipes, they seem to be entirely text based and i was under the impression that rpc can pass strongly typed values across.

I will look into DCOM as well.

like image 379
Lodle Avatar asked Dec 04 '22 16:12

Lodle


1 Answers

If you are only interested in talking between processes on the same machine, boost::interprocess is a cool way of getting a channel for them to talk through.

More windows specific solutions is a shared memory mapped file and system global mutexes/signals or named pipes.

boost::serialize and google protocol buffers are ways of converting the data you send between the processes to binary strings that are less dependent on structure packing and other things that may differ between different executables.

boost::interprocess, boost::serialize and protocol buffers should be platform independent so technically it could work on Linux/Mac as well!

like image 144
Laserallan Avatar answered Dec 26 '22 11:12

Laserallan