A.16 Se servir du réseau avec XLogo

A.16.1 Le réseau : comment ça marche?

Tout d’abord, dans cette introduction, il est nécessaire de vous expliquer certains termes de vocabulaire afin de bien comprendre l’usage des différentes primitives.
pict

FIG. A.5Notion de réseau

Deux ordinateurs peuvent commuiquer via le réseau s’ils sont équipés de carte réseau (appelée aussi carte ethernet). Chaque ordinateur est alors repéré par une adresse personnelle : Son adressse IP. Cette adresse IP est composée de 4 entiers compris entre 0 et 255 séparés par des points. Par exemple, l’adresse IP du premier ordinateur du schéma précédent est 192.168.1.1.



Etant donné qu’il n’est pas facile de retenir ce genre d’adresse, il est également possible de faire correspondre à chaque adresse IP un nom usuel plus facile à retenir. Sur le schéma précédent, on peut ainsi s’adresser à l’ordinateur de droite soit en l’appelant par son adresse IP : 192.168.1.2, soit en l’appelant par son nom : tortue



Je ne m’étends pas davantage sur la signification de ces nombres. Je rajoute juste une chose qu’il est bon de savoir, l’ordinateur local sur lequel on travaille est repéré également par une adresse : 127.0.0.1. Le nom qui lui est associé est généralement localhost

A.16.2 Primitives orientées réseau

XLogo dispose de 4 primitives permettant de communiquer grâce au réseau : ecoutetcp, executetcp, chattcp et envoietcp. On prendra toujours dans les exemples qui suivent le cas des deux ordinateurs du schéma précédent.





ecoutetcp



Cette primitive ecoutetcp est la base de toute communication réseau. Elle n’attend aucun argument. Elle permet de mettre l’ordinateur qui l’exécute à l’écoute d’ordres donnés par d’autres ordinateurs du réseau.



executetcp mot1 liste2



Cette primitive permet d’exécuter des instructions sur un ordinateur du réseau.

mot1 désigne l’adresse IP ou le nom de l’ordinateur appelé, liste2 contient les instructions à exécuter.



Exemple : Je suis sur l’ordinateur lievre, je souhaite tracer un carré de côté 100 sur l’autre ordinateur. Par conséquent, il faut que sur l’ordinateur tortue, je lance la commande ecoutetcp. Ensuite, sur l’ordinateur lievre, je lance :
 executetcp "192.168.1.2 [repete 4[av 100 td 90]]
 ou
 executetcp "tortue [repete 4[av 100 td 90]]



chattcp mot1 liste2



Permet de dialoguer entre deux ordinateurs du réseau en affichant une fenêtre permettant la conversation.

mot1 désigne l’adresse IP ou le nom de l’ordinateur appelé, liste2 contient la phrase à afficher.



Exemple : lievre veut discuter avec tortue.

tortue lance ecoutetcp pour se mettre en attente de requête d’ordinateurs du réseau. lievre lance alors : chattcp "192.168.1.2 [bonjour].

Deux fenêtres permettant le dialogue s’ouvre alors sur chacun des ordinateurs.



envoietcp mot1 liste2



Envoie des données vers un ordinateur du réseau puis renvoie la réponse de l’autre ordinateur.

mot1 désigne l’adresse IP ou le nom de l’ordinateur appelé, liste2 contient les données à envoyer. Si la communication se fait avec un autre ordinateur où XLOGOest lancé, cet ordinateur répondra OK une fois l’opération terminée. Il est également possible de dialoguer avec un robot muni d’une interface réseau, la réponse pourra être différente à ce moment.



Exemple : tortue veut envoyer à lievre la séquence "3.14159 presque le nombre pi".

lievre lance ecoutetcp pour se mettre en attente de requête d’ordinateurs du réseau. tortue lance alors : ecris envoietcp "lievre [3.14159 presque le nombre pi].



Une petite astuce : Lancer deux fois XLogo sur le même ordinateur.

Vous avez ainsi déplacer la tortue sur l’autre fenêtre! (éh oui, 127.0.0.1 désigne l’adresse locale donc l’ordinateur lui-même...)