Smart-RPC.net is a free framework with which one can easily build client/server solutions for different platforms. It provides the possibility to execute a Remote Procedure Call located on a service (possibly on a remote machine) which is triggered by a client of that service.
The current implementation is built as a portable assembly and thus it can be used for different types of solutions, e.g. Desktop applications or Universal Windows applications.
An architecture is used in which the communication, the messages and the RPC implementation are loosely coupled. For some parts custom implementations are possible. Design diagrams can be found here.
The example provides a basic implementation for both a service and a client. It shows how to call the methods on the service, how clients can subscribe on notifications originating from the service and how these notifications can be used at the client side. It also shows how the discovery mechanism can be used.
This sample is plug and play, after unzipping it can be opened in Visual Studio 2015. After that execute the solution and both the service and client will start.