Mise à jour protocole

Parties inutiles du protocole retirées (notamment l’échange systématique de la version du protocole), et ajout d’une possibilité de faire une requête du nom des participants connectés.
This commit is contained in:
Phuntsok Drak-pa 2018-03-17 11:39:28 +01:00 committed by GitHub
parent 7b41ef759a
commit 618d937257
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -48,7 +48,7 @@ S->C
Réponse à cette requête du serveur vers le client (serveur vers client), requête du nom d'utilisateur. Réponse à cette requête du serveur vers le client (serveur vers client), requête du nom d'utilisateur.
``` text ``` text
PROT <version> NAME REQ NAME REQ
``` ```
### Requête 1.4 ### Requête 1.4
@ -58,7 +58,7 @@ C->S
Réponse à la requête du serveur (client vers serveur), envoi du nom dutilisateur. Réponse à la requête du serveur (client vers serveur), envoi du nom dutilisateur.
``` text ``` text
PROT <version> NAME <username> NAME <username>
``` ```
### Requête 1.5 ### Requête 1.5
@ -68,7 +68,7 @@ S->C
Réponse du serveur si l'enregistrement du nom d'utilisateur sest bien déroulé, immédiatement suivi par la [requête 1.9](#requête-18) Réponse du serveur si l'enregistrement du nom d'utilisateur sest bien déroulé, immédiatement suivi par la [requête 1.9](#requête-18)
``` text ``` text
PROT <version> NAME OK NAME OK
``` ```
### Requête 1.6 ### Requête 1.6
@ -78,7 +78,7 @@ S->C
Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré une erreur (nom déjà utilisé,…) (serveur vers client). Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré une erreur (nom déjà utilisé,…) (serveur vers client).
``` text ``` text
PROT <version> NAME FAILURE NAME FAILURE
``` ```
### Requête 1.7 ### Requête 1.7
@ -88,7 +88,7 @@ S->A
Conjointement à la [requête 1.4](#requête-14), cette requête sera envoyée à tout autre client connecté pour les notifier de la connexion dun nouvel utilisateur. Conjointement à la [requête 1.4](#requête-14), cette requête sera envoyée à tout autre client connecté pour les notifier de la connexion dun nouvel utilisateur.
``` text ``` text
PROT <version> JOIN <username> JOIN <username>
``` ```
### Requête 1.8 ### Requête 1.8
@ -98,7 +98,17 @@ S->C
Requête confirmant au client sa connexion Requête confirmant au client sa connexion
``` text ``` text
PROT <version> WELCOME WELCOME
```
### Requête 1.9
S->C
Réponse du serveur en cas de version de protocole différente
```text
BAD PROT
``` ```
Déconnexion du serveur Déconnexion du serveur
@ -116,7 +126,7 @@ Du client vers le serveur : notification de déconnexion du client au serveur.
Du serveur vers le client : confirmation de déconnexion du client depuis le serveur. Du serveur vers le client : confirmation de déconnexion du client depuis le serveur.
``` text ``` text
PROT <version> BYE BYE
``` ```
### Requête 2.2 ### Requête 2.2
@ -126,7 +136,7 @@ S->A
Notification aux clients de la déconnexion dun autre client. Notification aux clients de la déconnexion dun autre client.
``` text ``` text
PROT <version> LOGOUT <username> LOGOUT <username>
``` ```
Ping Ping
@ -141,7 +151,7 @@ S->A
Envoi dun ping du serveur vers chaque client. Envoi dun ping du serveur vers chaque client.
``` text ``` text
PROT <version> PING PING
``` ```
### Requête 3.2 ### Requête 3.2
@ -151,10 +161,11 @@ C->S
Envoi de la réponse du client au serveur pour la [requête 3.1](#requête-31) Envoi de la réponse du client au serveur pour la [requête 3.1](#requête-31)
``` text ``` text
PROT <version> PONG PONG
``` ```
## Échange de messages ## Échange de messages
### Échange de messages publics ### Échange de messages publics
#### Requête 4.1.1 #### Requête 4.1.1
@ -162,8 +173,9 @@ PROT <version> PONG
C->S C->S
Envoi depuis le client vers le serveur dun message public Envoi depuis le client vers le serveur dun message public
``` text ``` text
PROT <version> MSG <message> MSG <message>
``` ```
#### Requête 4.1.2 #### Requête 4.1.2
@ -171,28 +183,29 @@ PROT <version> MSG <message>
S->A S->A
Transmission dun message dun client vers les autres clients Transmission dun message dun client vers les autres clients
``` text ``` text
PROT <version> FROM <username> MSG <message> FROM <username> MSG <message>
``` ```
### Échange de messages privés ### Interactions salon de chat
#### Requête 4.2.1 #### Requête 4.2.1
C->S C->S
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (client vers serveur) Demande du client pour recevoir la liste des participants connectés
```text ```text
PROT <version> PRIV TO <dest-username> MSG <msg> REQ CLIENTS
``` ```
#### Requête 4.2.2 #### Requête 4.2.2
S->C S->C
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (serveur vers client) Réponse du client à la [requête 4.2.1](#requête-421) transmettant au client la liste des autres clients connectés
```text ```text
PROT <version> PRIV FROM <username> MSG <message> LIST CLIENTS <nombre de clients> <noms clients séparés par un espace>
``` ```
Comme mentionné au début de ce document, aucun caractère blanc nest autorisé dans les pseudonymes afin quil ny ait pas de collision avec le protocole.