wiki:IOC_T06

Version 1 (modified by franck, 5 years ago) (diff)

--

Modèle client-serveur et MQTT

Objectif de la séance

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?. MQTT est un protocole construit au dessus de TCP/IP. 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.

Mise en œuvre du modèle client-serveur sur une application de vote

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 :

  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.
  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
  • L'application "client"
    • Paramètres :
      • L’adresse IP du serveur
      • Le numéro de port de l’application serveur
      • Le nom de la personne
      • Le vote avec deux possibilités : été ou hiver
    • Comportement attendu :
      • Le client crée un socket, se connecte et envoi son vote au serveur.
      • Le serveur lui renvoie un acquittement de son vote.
  • L'application "serveur"
    • Paramètres :
      • Le numéro du port d’écoute.
    • Comportement attendu :
      • Le serveur un socket et écoute
      • Lorsqu’un client se connecte, il vérifie que le client n’a pas encore voté
        • Si ok, le serveur envoie le message « a voté »
        • Si ko, le serveur envoie le message « erreur, vote déjà réalisé »

No image "png/client-serveur.png" attached to IOC_T06