<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to PodballModNetwork</title><link>https://sourceforge.net/p/podball/wiki/PodballModNetwork/</link><description>Recent changes to PodballModNetwork</description><atom:link href="https://sourceforge.net/p/podball/wiki/PodballModNetwork/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 15 Jun 2014 10:33:06 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/podball/wiki/PodballModNetwork/feed" rel="self" type="application/rss+xml"/><item><title>PodballModNetwork modified by Lars Ruoff</title><link>https://sourceforge.net/p/podball/wiki/PodballModNetwork/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -11,6 +11,13 @@
 Best candidate for the application layer protocol so far:
 JSON-RPC over TCP streams - http://en.wikipedia.org/wiki/JSON-RPC
 It is simple to implement and implementations are readily available on a wide variety of platforms and languages.
+Links:
+
+* Specification: http://www.jsonrpc.org/specification
+* http://www.simple-is-better.org/json-rpc/transport_sockets.html
+* A C++ implementation (CMake support, MIT license!):
+  http://cinemast.github.io/libjson-rpc-cpp/
+  https://github.com/cinemast/libjson-rpc-cpp

 Ruled out:
 CORBA, SOAP/XML/HTTP - Too much boilerplate, too complicated, overkill.
@@ -30,4 +37,3 @@
 Sidetrack: How should float/double values be exchanged over a text-based protocol in order to preserver precision?
 Interesting read:
 http://randomascii.wordpress.com/2012/03/08/float-precisionfrom-zero-to-100-digits-2/
-
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lars Ruoff</dc:creator><pubDate>Sun, 15 Jun 2014 10:33:06 -0000</pubDate><guid>https://sourceforge.net643d07ac863b3b8505fc4edc8354ff52e9769f3b</guid></item><item><title>PodballModNetwork modified by Lars Ruoff</title><link>https://sourceforge.net/p/podball/wiki/PodballModNetwork/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -24,3 +24,10 @@
 ## Protocol Definition (proposal)

 TBD.
+
+
+
+Sidetrack: How should float/double values be exchanged over a text-based protocol in order to preserver precision?
+Interesting read:
+http://randomascii.wordpress.com/2012/03/08/float-precisionfrom-zero-to-100-digits-2/
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lars Ruoff</dc:creator><pubDate>Fri, 06 Jun 2014 07:26:35 -0000</pubDate><guid>https://sourceforge.net8141dd4d03b9758c78c4313b1d8e8893960a2781</guid></item><item><title>PodballModNetwork modified by Lars Ruoff</title><link>https://sourceforge.net/p/podball/wiki/PodballModNetwork/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="ideas-how-to-move-to-a-network-architecture"&gt;Ideas how to move to a network architecture&lt;/h1&gt;
&lt;p&gt;The idea is this: The podball application communicates with the control modules over TCP/IP sockets.&lt;/p&gt;
&lt;p&gt;Advantage:&lt;br /&gt;
The control modules can be written in any language and on any system that supports an IP network stack.&lt;/p&gt;
&lt;p&gt;Disadvantage:&lt;br /&gt;
Control modules need to implement the application layer network stack.&lt;br /&gt;
But if a sufficiently simple and widespread protocol is chosen, chances are good that there exists libraries in most languages that support this out-of-the-box in many languages and on many platforms.&lt;/p&gt;
&lt;p&gt;Best candidate for the application layer protocol so far:&lt;br /&gt;
JSON-RPC over TCP streams - &lt;a href="http://en.wikipedia.org/wiki/JSON-RPC" rel="nofollow"&gt;http://en.wikipedia.org/wiki/JSON-RPC&lt;/a&gt;&lt;br /&gt;
It is simple to implement and implementations are readily available on a wide variety of platforms and languages.&lt;/p&gt;
&lt;p&gt;Ruled out:&lt;br /&gt;
CORBA, SOAP/XML/HTTP - Too much boilerplate, too complicated, overkill.&lt;/p&gt;
&lt;h2 id="who-is-the-server-and-who-is-the-client"&gt;Who is the server and who is the client?&lt;/h2&gt;
&lt;p&gt;Podball is calling functions on the control modules. So naturally, one would think of podball being the client and the control modules being servers.&lt;br /&gt;
However it is conceptually simpler that podball is the server and the control modules connect to it.&lt;br /&gt;
Control modules should open the TCP connection to the server and call a registration function, passing some general information about the module along the way. From this point on, the server (podball) may call the control modules RPC functions for Init, Play, etc.&lt;/p&gt;
&lt;h2 id="protocol-definition-proposal"&gt;Protocol Definition (proposal)&lt;/h2&gt;
&lt;p&gt;TBD.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lars Ruoff</dc:creator><pubDate>Fri, 06 Jun 2014 07:23:12 -0000</pubDate><guid>https://sourceforge.net9bb80afa822d03da2f0982a2004dc91132da604c</guid></item></channel></rss>