Émettre des commandes sur le serveur
Une fois que l'ordinateur avec l'application client est connecté à l'EK80 du système EK80 avec l'application serveur (le programme du système EK80), des messages spécifiques sont utilisés pour émettre des commandes.
Note
Dans ce contexte, l’unité de traitement du système EK80 est considérée comme le « serveur ». Le programme du système EK80 est « l’application serveur ». Le programme que vous créez vous-même pour une exécution sur un ordinateur local est appelé « application client ».
Request
Un message de Request doit être envoyé à l’application serveur (programme du système EK80) pour pouvoir émettre une commande sur l’une des cibles de commande disponibles. Ceci est un exemple des éléments principaux d'une demande de commande.
struct Request
  {
    char Header[4];
    char MsgControl[22];
    char MsgRequest[1400];
  };
Le champ MsgControl est formaté comme suit : Sequence number, Current message, Total message.
1 Le Sequence number s'incrémente pour chaque message de demande envoyé au serveur.
2 Le Current message contient le message actuel dans le cas où une demande doit être divisée en plusieurs messages UDP.
3 Le Total message contient le nombre total de messages composant la demande en cours.
Par exemple, le contenu du MsgControl est « 2,1,3 ». Cela signifie que le message UDP en cours est le deuxième message de demande envoyé par le client au serveur et que le message en cours est le message numéro 1 d'une demande composée d'un total de trois messages UDP.
Le contenu du champ MsgRequest dépend de la cible de la commande actuelle. Le format est basé sur XML. Il doit spécifier une cible de commande, une méthode sur la cible de commande et tous les paramètres d'entrée pertinents pour la méthode en cours.
C'est la structure générale.
<request>
  <clientInfo>
    <cid>clientid</cid>
    <rid>requestid</rid>
  </clientInfo>
  <type>invokeMethod</type>
  <targetComponent>xx</targetComponent>
  <method>
    <yy>
      <zz></zz>
    </yy>
  </method>
</request>
•  clientid: Ceci est l'identification du client.
•  requestid: Ceci est l'identification de la demande.
•  xx: Ceci est le nom de la cible de la commande actuelle.
•  yy: Ceci est le nom de la méthode actuelle.
•  zz: Ceci identifie tous les paramètres de la méthode actuelle
Response
L’application serveur (le programme du système EK80) répondra avec un message Response.
struct Response
  {
    char Header[4];
    char Request[4];
    char MsgControl[22];
    char MsgResponse[1400];
  };
Le champ MsgControl est formaté comme suit : Sequence number, Current message, Total message.
Les contenus du champ Response dépendent de la cible de la commande actuelle. Le format est basé sur XML. Elle contient le résultat, les éventuels messages d'erreur et tous les paramètres de sortie pertinents pour la méthode en cours.
C'est la structure générale.
<response>
  <clientInfo>
    <cid dt="3">clientid</cid>
    <rid dt="3">requestid</rid>
  </clientInfo>
  <fault>
    <detail>
    <errorcode dt="3">0</errorcode>
    </detail>
  </fault>
  <yyResponse>
    <zz dt=”3”></zz>
  </yyResponse>
</response>
•  clientid: Ceci est l'identification du client.
•  requestid: Ceci est l'identification de la demande.
•  error code: C'est le résultat de l’opération. (0 = OK)
•  yy: Ceci est le nom de la méthode actuelle.
•  zz: Ceci identifie tous les paramètres de la méthode actuelle