Chat

    Le chat, en plus d'être un animal à griffes doux est un bon exercice d'informatique. Les bases utilisées sont les mêmes que celles du plus ou moins, c'est-à-dire une interface en VueJs fournie et une communication en Websocket.

    Interface

    Vous pouvez consulter l'interface ici. Elle permet de définir le nom de l'auteur des messages, de se connecter à une adresse websocket, d'écrire des messages dans une zone de saisie et de les envoyer avec la touche 'enter'. L'interface collecte les messages envoyés hors connexion et les envoie quand une connexion est disponible.

    Un message est une chaine de caractère JSON représentant l'objet message. Ainsi, l'objet :

    {
      author: "bot",
      body: "hello world! I'm a bot.",
    }
    

    sera représenté par la chaine :

    {"author":"bot","body":"hello world! I'm a bot."}
    

    À la réception d'un message, la chaine de caractère est parsée vers un object json qui est ajouté à la liste des messages sans vérification.

    Lors de l'envoi d'un message, la chaine de caractère est envoyée telle quelle dans le canal websocket.

    Spécifications

    Votre programme devra :

    • accepter plusieurs connexions entrantes en parall√®le
    • √† la r√©ception d'un message, le relayer tel quel √† toutes les connexions ouvertes

    Corrigé

    Un exemple de corrigé en Rust est disponible ici : https://git.42l.fr/TDinfo/wscatrs.