This is an old revision of the document!
Table of Contents
Protocole Client Rocrail (RCP)
Entête der communication
Toutes les requêtes et les réponses sont préfixées avec une entête XML qui annonce les contenus.
Exemple
ENTÊTE DU DÉBUT
<xmlh> <xml size="23" name="cmd"/> <bin size="4711" name="readme.pdf"/> </xmlh>
FIN ENTÊTE DÉBUT XML
<cmd auto="off"/>
FIN XML DEBUT BIN
A6007B98FF...
FIN BIN
Note
Après la balise de fin de l'entête, </xmlh>
, aucun caractère supplémentaire n'est autorisé. (Même un '\0' n'est pas autorisé.)
Définition du protocole
Attributs de l'entête XML
Nom | Description |
---|---|
size | longueur en octet du xml ou du flux binaire |
name | nom du document xml ou nom du fichier binaire |
Requêtes client
Les clients peuvent envoyer presque tout ce qui se trouve dans la définition du protocole, et la liste suivante n'est pas complète.
Commandes du modèle: https://wiki.rocrail.net/rocrail-snapshot/rocrail/wrapper-en.html#model
Obtenir le plan complet
<model cmd="plan"/>
Obtenir une liste
Les locomotives:
<model cmd="lclist"/>
Les aiguillages:
<model cmd="swlist"/>
Obtenir un objet
Locomotive:
<model cmd="lcprops" val="locoID"/>
Exemple de locomotive complet
<xmlh><xml size="84" name="lc"/></xmlh><lc id="4711" V_raw="87" V_rawMax="100" cmd="velocity" throttleid="192.168.100.32"/>
Réponses du serveur
Pour chaque demande du client il y a une réponse du serveur.
Plan response
<plan>...</plan>
Server events
Many events are broadcasted to all clients including modifications by other clients.
Just a few example events.
Power event
Track power became high:
<state power="true"/>
Auto event
Automode is switched on:
<auto cmd="on"/>