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.
Réponse du plan
<plan>...</plan>
Évènement du serveur
De nombreux événements sont diffusés à tous les clients, y compris les modifications apportées par d'autres clients.
Quelques exemples d'événements.
Évènement alimentation
L'alimentation de la voie est établie:
<state power="true"/>
2vènement automatique
Le mode automatique est activé:
<auto cmd="on"/>