| | 1 | = Modèle client-serveur et MQTT |
| | 2 | |
| | 3 | == Objectif de la séance |
| | 4 | |
| | 5 | Le but de cette séance est d'expérimenter le modèle client-serveur et une évolution de ce modèle client-broker pour permettre l'échange d'informations entre les capteurs et la base au dessus du protocole WiFi. |
| | 6 | MQTT est un protocole construit au dessus de TCP/IP. |
| | 7 | Dans un premier temps, vous allez commencer par mettre en œuvre le modèle clients-serveur en créant votre propre application sur ce modèle et, dans un second temps, vous utilisez MQTT. |
| | 8 | |
| | 9 | == Mise en œuvre du modèle client-serveur sur une application de vote |
| | 10 | |
| | 11 | L’apprentissage du modèle client-serveur va se faire en étant guidé par un exemple que vous allez devoir comprendre et à partir duquel vous allez devoir créer une nouvelle application. Il y a donc deux temps : |
| | 12 | |
| | 13 | 1. Vous devez commenter l’exemple dans le code en vous aidant de la documentation de la bibliothèque SDL. Le but de ces commentaires est de vous forcer à lire la documentation pour les quelques fonctions présentes dans l’exemple. |
| | 14 | 2. `Vous allez créer une nouvelle application permettant de recueillir le vote de personne concernant le choix de l’heure d’hiver ou d’été. Vous avez deux programmes à écrire. Le premier permet de voter, c’est le client. Le second permet de recueillir le vote, c’est le serveur |
| | 15 | |
| | 16 | * **L'application "client" |
| | 17 | * Paramètres : |
| | 18 | * L’adresse IP du serveur |
| | 19 | * Le numéro de port de l’application serveur |
| | 20 | * Le nom de la personne |
| | 21 | * Le vote avec deux possibilités : été ou hiver |
| | 22 | * Comportement attendu : |
| | 23 | * Le client crée un socket, se connecte et envoi son vote au serveur. |
| | 24 | * Le serveur lui renvoie un acquittement de son vote. |
| | 25 | * **L'application "serveur" |
| | 26 | * Paramètres : |
| | 27 | * Le numéro du port d’écoute. |
| | 28 | * Comportement attendu : |
| | 29 | * Le serveur un socket et écoute |
| | 30 | * Lorsqu’un client se connecte, il vérifie que le client n’a pas encore voté |
| | 31 | * Si ok, le serveur envoie le message « a voté » |
| | 32 | * Si ko, le serveur envoie le message « erreur, vote déjà réalisé » |
| | 33 | |
| | 34 | [[Image(png/client-serveur.png)]] |