title: RPC Protocols comparison
body: <p>I have to select a protocol/technology to use for communicating a client-server architecture, with support both for Python and C. The main requirements are:</p>
  
  <ol>
  <li>Symmetrical communication in between ends: clients establish a connection and servers can send data back to clients through the same connection.</li>
  <li>Avoid excessive overhead by using HTTP or a big stack (if possible, TCP direct communication).</li>
  <li>TLS/SSL support for secure communications.</li>
  <li>Ease of implementation.</li>
  </ol>
  
  <p>For that, I evaluated the following protocols/communications technologies. I would appreciate that you could take a look at the table and tell me what you think, since most of times, it was quite hard to find the information I required for this analysis. In addition, I would also appreciate that any of you could add more protocols/technologies to the table below.</p>
  
  <p><img src="https://i.stack.imgur.com/05jFa.png" alt="Protocols Comparison"></p>
  
  <p>(*1) TLS support for RPyC is based in a no-longer supported Python library.</p>