NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

______________________________________________________________________

Description protocole d'application et sérialisation
______________________________________________________________________



1. Protocole d'application
---------------------------

1.1. Format
------------
Connexion du client au serveur
- Le client tape en console l'adresse l'IP à laquelle il doit se connecter
- Le numéro de port ; si le serveur et le client sont lancés sur le même ordinateur
le n° de port doit être identique.

Chaque interaction possible se déroule dans cet ordre :
1) Le client effectue sa requête vers le serveur.
2) Le serveur éxécute la requête du client.
Renvoie un message de réponse vers le client, les "n" de la reponse sont remplaces par des "$", et sont traites par le client.
3) Le client affiche la réponse du serveur.
Dans le cas d'une erreur, le "msg erreur" spécifie toujours l'origine et la cause de l'erreur.


1.2. Bufferisation
-------------------
Notre serveur utilise :
- BufferedReader pour son input ;
- PrintStream pour son output.


1.3. Définition du message envoyé
----------------------------------
On envoie une chaîne de type : commande%param1#param2 ...
Dans le cas où on aurait un paramètre composé d'une liste, on recevra ce paramètre sous la forme : paramPrécédent#s1;s2;s3;...#paramSuivant


1.4. Interactions
------------------
- Connexion
- Envoie du nom du client au serveur a la connexion

- Ajout ex: add%nom1#surnom1;surnom2;...;surnomX#
- Le client effectue sa demande d'ajout en passant au serveur les paramètres suivants (Le client peut envoyer plusieurs couple (nom, surnom) dans la commande):
|__ String : nom (non vide)
|__ List<String> : liste des surnoms (sans surnom pour ajouter qu'un nom : add%nom1##nom2#surnom)
- Le serveur renvoit comme réponse :
|__ String : Commande effectuee avec succes, surnoms ajoutes |__ String : Erreur, (msg erreur)


- Suppression ex: suppNom%nom
- Le client effectue sa demande de suppression en passant au serveur le parametre suivant :
|__ String : nom (non vide)
- Le serveur supprime le nom ainsi que les surnoms associes et renvoit comme réponse :
|__ String : Commande effectuee avec succes, nom supprime avec ses surnoms |__ String : Erreur, (msg erreur)

ex: suppAllSurnom%nom
- Le client effectue sa demande de suppression en passant au serveur le parametre suivant :
|__ String : nom (non vide)
- Le serveur supprime les surnoms associes au nom (celui-ci est conserve) et renvoit comme réponse :
|__ String : Commande effectuee avec succes, le nom n'a plus de surnoms |__ String : Erreur, (msg erreur)

ex: suppSurnom%nom#surnom1;surnom2 ...
- Le client effectue sa demande de suppression en passant au serveur le parametre suivant :
|__ String : nom (non vide)
|__ List<String> : liste des surnoms
- Le serveur supprime les surnoms associes au nom et renvoit comme réponse :
|__ String : Commande effectuee avec succes, les surnoms associes au nom ont été supprimés |__ String : Erreur, (msg erreur)


- Modification ex: modif%nom1#surnom1Old#surnom1New
- Le client effectue une demande de modification d'un surnom existant en passant au serveur les paramètres :
|__ String : nom (non vide)
|__ String : surnom à modifier (non vide)
|__ String : nouveau surnom (non vide)
- Le serveur renvoit comme réponse :
|__ String : Commande effectuee avec succes, surnoms modifies |__ String : Erreur, (msg erreur)


- Chercher ex: look%nom
- Le client demande une liste de l'ensemble des surnoms du nom passé en paramètre
|__ String : nom de l'unique personne dont on veut le(s) surnom(s) (non vide)
- Le serveur renvoit comme réponse :
|__ String : Liste des surnom |__ String : Erreur, (msg erreur)


- Lister ex: list
- Le client demande une liste de l'ensemble des noms/surnoms
|__ Sans paramètre : liste exhaustive de tous les surnoms pour chaques noms
- Le serveur renvoit comme réponse :
|__ String : Liste de nom suivit de leurs surnom |__ String : Erreur, (msg erreur)


- Quitter ex: quitter ou exit
- Le client demande à couper la connexion
|__ Sans paramètre : coupe la connexion
- Le serveur renvoit comme réponse :
|__ String : Message de politesse |__ String : Erreur, (msg erreur)

- Déconnexion


2. Sérialisation
-----------------

Nous effectuerons la sérialisation texte.

     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.