Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
embedded_systems:robi2:remote [2011-12-14 17:31] – Erster Entwurf des abgespeckten Protokolls niederer | embedded_systems:robi2:remote [2012-01-30 11:40] (aktuell) – Kleinere Ergänzungen als Vorbereitung für aktuellen Stand niederer | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
===== Das Kommunikationsprotokoll ===== | ===== Das Kommunikationsprotokoll ===== | ||
- | Das Protokoll funktioniert nach dem Request-Response Prinzip wobei jeweils der Client die Requests stellt. Das Protokoll ist im Textformat entworfen. Dies ermöglicht die Überquerung von Plattformen, | + | Das Protokoll funktioniert nach dem Request-Response Prinzip wobei jeweils der Client die Requests stellt. Das Protokoll ist im Textformat entworfen. Dies ermöglicht die Überquerung von Plattformen, |
====Protokoll==== | ====Protokoll==== | ||
- | Das Framing beschränkt sich auf eine Zeilenweise Trennung der einzelnen Requests und den jeweiligen Responses. Um das Protokoll möglichst zu vereinfachen wird auf eine Versionierung des Protokolls in Form eines spezifischen Startzeichens verzichtet. Als Antwort erhält der Aufrufer jeweils | + | Das Framing beschränkt sich auf eine Zeilenweise Trennung der einzelnen Requests und den jeweiligen Responses. Um das Protokoll möglichst zu vereinfachen wird auf eine Versionierung des Protokolls in Form eines spezifischen Startzeichens verzichtet. Als Antwort erhält der Aufrufer jeweils den Rückgabewert der aufgerufenen Methode. Liefert die Methode keinen Rückgabewert erhält der Aufrufer eine leere Zeile. |
+ | |||
+ | FIXME Eventuelle, transparente Erweiterung? | ||
Ist ein Aufruf nicht in Ordnung, so wird dem Aufrufer ein Fehlercode zurückgeliefert. In diesem Fall ist das erste Zeichen im Frame ein ' | Ist ein Aufruf nicht in Ordnung, so wird dem Aufrufer ein Fehlercode zurückgeliefert. In diesem Fall ist das erste Zeichen im Frame ein ' | ||
Zeile 14: | Zeile 16: | ||
===Beispiele=== | ===Beispiele=== | ||
- | **Gültiges | + | **Gültige |
< | < | ||
- | Request: | + | Request: |
- | Response: | + | Response: < |
</ | </ | ||
- | |||
- | **Ungültiges Kommando** | ||
< | < | ||
- | Request: | + | Request: |
- | Response: | + | Response: |
</ | </ | ||
- | **Ungültige | + | **Ungültige |
< | < | ||
- | Request: | + | Request: |
- | Response: *2 Invalid Parameter< | + | Response: *1 Command Unknown< |
</ | </ | ||