RPC framework

Posted on 2011-04-28
Medium Priority
Last Modified: 2012-05-11

I need advice what RPC framework use.

I have 3 candidates:
Protocol Buffers, MessagePack, Windows RPC

- Windows only(I am sure about 90% that I stay in windows platform only)
- should compile in Visual Studio C++ without problems
- must have RPC generator (Protocol Buffers is serialization format but it is have some RPC client server generator, i do not know details)
- if i communicate locally i want to use named pipes protocol which is not based on tcp/ip. So firewalll not block it.

What for:
1. App running in user space communicate with NT service. Its send messages in per 2,3 seconds.
2. In future, I want to that App running in users space send messages outside computer to central server.
3. I have few machines with local database. And from other computer i need to access to these databases by RPC.

Question by:lavitz
  • 3
  • 2
LVL 86

Accepted Solution

jkr earned 2000 total points
ID: 35485273
I'd definitely go for Windows RPC in that case. Since you use Visual Studio, you already have everything you need. You'll even find a thourough introduction that uses named pipes at http://msdn.microsoft.com/en-us/library/dd418893%28PROT.10%29.aspx ("RPC Sample Application")

Author Comment

ID: 35485429
What is differents between MS RPC and others?
LVL 86

Expert Comment

ID: 35485603
Well, first and most important of all, MS RPC is native to Windows and does not require the installation of any libraries.

Author Comment

ID: 35489531
Could I connect .Net WCF to native MS RPC server?
LVL 86

Expert Comment

ID: 35491330
That's kind of an odd followup in an unmanaged programming zone, but yes - any way to connect .NET to unmanaged code (P/Invoke, COM Interop) will work here to. Also, see http://blogs.msdn.com/b/clemensv/archive/2009/04/03/xml-rpc-with-wcf-updated.aspx ("XML-RPC with WCF")

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question