I would advise you to review the Google protocol buffers. There are many open source versions for all major platforms, including C ++ / Java / Python, which are published by Google itself.
As John Skeet mentioned above, the PB specification does not define an RPC model, but it is very easy to define your own RPC using PB.
Alternatively, you can take a look at ASN.1. There are many applications using ASN.1.
opletayev
source share