fixed markdown internal links
This commit is contained in:
parent
cebf82f2bd
commit
7e4d97d711
85
protocole.md
85
protocole.md
@ -1,27 +1,21 @@
|
|||||||
[WARNING] Deprecated: markdown_github. Use gfm instead.
|
|
||||||
Proposition de protocole
|
Proposition de protocole
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Proposition de protocole pour la communication inter-serveurs/clients
|
Proposition de protocole pour la communication inter-serveurs/clients pour le projet de chat textuel.
|
||||||
pour le projet de chat textuel.
|
|
||||||
|
|
||||||
Quelques règles pour assurer le bon fonctionnement du protocole :
|
Quelques règles pour assurer le bon fonctionnement du protocole :
|
||||||
|
|
||||||
- Chaque ligne se termine par les caractères `\r\n`.
|
- Chaque ligne se termine par les caractères `\r\n`.
|
||||||
- Un nom d’utilisateur ne peut contenir que des caractères
|
- Un nom d’utilisateur ne peut contenir que des caractères alphanumériques (a-z, A-Z, 0-9).
|
||||||
alphanumériques (a-z, A-Z, 0-9).
|
|
||||||
|
|
||||||
Connexion au serveur
|
Connexion au serveur
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Gestion de l’arrivée des utilisateurs sur le serveur (choix du nom
|
Gestion de l’arrivée des utilisateurs sur le serveur (choix du nom d’utilisateur et notification des clients).
|
||||||
d’utilisateur et notification des clients).
|
|
||||||
|
|
||||||
### Requête 1.1
|
### Requête 1.1
|
||||||
|
|
||||||
Connexion sans nom d’utilisateur fournit par le client, `<version>`
|
Connexion sans nom d’utilisateur fournit par le client, `<version>` devant être remplacé par la version utilisée par le client (tel que `0.5` ou `1.0`). Client vers serveur.
|
||||||
devant être remplacé par la version utilisée par le cliet (tel que `0.5`
|
|
||||||
ou `1.0`). Client vers serveur.
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> CONNECT NEW
|
PROT <version> CONNECT NEW
|
||||||
@ -35,15 +29,11 @@ Connexion au serveur mentionnant le nom d’utilisateur
|
|||||||
PROT <version> CONNECT USER <username>
|
PROT <version> CONNECT USER <username>
|
||||||
```
|
```
|
||||||
|
|
||||||
Selon si la connexion est établie avec ce nom d'utilisateur, la
|
Selon si la connexion est établie avec ce nom d'utilisateur, la [requête 1.4](#requête-14) ou la [requête 1.5](#requête-15) sera renvoyée. Si la requête [requête 1.5](#requête-15) est renvoyée, la [requête 1.2](#requête-12) suivra immédiatement après.
|
||||||
[1.1.4](#*Requête 1.4) ou [1.1.5](#*Requête 1.5) sera renvoyée. Si la
|
|
||||||
requête [1.1.5](#*Requête 1.5) est renvoyée, la [1.1.2](#*Requête 1.2)
|
|
||||||
suivra immédiatement après.
|
|
||||||
|
|
||||||
### Requête 1.3
|
### Requête 1.3
|
||||||
|
|
||||||
Réponse à cette requête du serveur vers le client (serveur vers client),
|
Réponse à cette requête du serveur vers le client (serveur vers client), requête du nom d'utilisateur.
|
||||||
requête du nom d'utilisateur.
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> REQ NAME
|
PROT <version> REQ NAME
|
||||||
@ -51,8 +41,7 @@ PROT <version> REQ NAME
|
|||||||
|
|
||||||
### Requête 1.4
|
### Requête 1.4
|
||||||
|
|
||||||
Réponse à la requête du serveur (client vers serveur), envoi du nom
|
Réponse à la requête du serveur (client vers serveur), envoi du nom d’utilisateur.
|
||||||
d’utilisateur.
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> NAME <username>
|
PROT <version> NAME <username>
|
||||||
@ -60,8 +49,7 @@ PROT <version> NAME <username>
|
|||||||
|
|
||||||
### Requête 1.5
|
### Requête 1.5
|
||||||
|
|
||||||
Réponse du serveur si l'enregistrement du nom d'utilisateur s’est bien
|
Réponse du serveur si l'enregistrement du nom d'utilisateur s’est bien déroulé (serveur vers client)
|
||||||
déroulé (serveur vers client)
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> OK WELCOME
|
PROT <version> OK WELCOME
|
||||||
@ -69,9 +57,7 @@ PROT <version> OK WELCOME
|
|||||||
|
|
||||||
### Requête 1.6
|
### Requête 1.6
|
||||||
|
|
||||||
Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré
|
Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré une erreur (nom déjà utilisé,…) (serveur vers client). La [requête 1.2](#requête-12) est envoyée vers le client.
|
||||||
une erreur (nom déjà utilisé,…) (serveur vers client). La
|
|
||||||
[1.1.2](#*Requête 1.2) est envoyée vers le client.
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> FAILURE
|
PROT <version> FAILURE
|
||||||
@ -79,9 +65,7 @@ PROT <version> FAILURE
|
|||||||
|
|
||||||
### Requête 1.7
|
### Requête 1.7
|
||||||
|
|
||||||
Conjointement à la [1.1.4](#*Requête 1.4), cette requête sera envoyée à
|
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 d’un nouvel utilisateur.
|
||||||
tout autre client connecté pour les notifier de la connexion d’un nouvel
|
|
||||||
utilisateur.
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
JOIN <username>
|
JOIN <username>
|
||||||
@ -102,8 +86,7 @@ PROT <version> BYE
|
|||||||
|
|
||||||
### Requête 2.2
|
### Requête 2.2
|
||||||
|
|
||||||
Envoi du serveur vers chaque client de la notification de déconnexion
|
Envoi du serveur vers chaque client de la notification de déconnexion d'un client
|
||||||
d'un client
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> LOGOUT <username>
|
PROT <version> LOGOUT <username>
|
||||||
@ -112,9 +95,7 @@ PROT <version> LOGOUT <username>
|
|||||||
Ping
|
Ping
|
||||||
----
|
----
|
||||||
|
|
||||||
Vérification de la connexion des clients avec le serveur. Chaque minute,
|
Vérification de la connexion des clients avec le serveur. Chaque minute, la requête [requête 3.1](#requête-31) est envoyée à chaque client qui ont tous trois secondes pour répondre avec la [requête 3.2](##requête-32).
|
||||||
la requête [1.3.1](#*Requête 3.1) est envoyée à chaque client qui ont
|
|
||||||
tous trois secondes pour répondre avec la [1.3.2](#*Requête 3.2).
|
|
||||||
|
|
||||||
### Requête 3.1
|
### Requête 3.1
|
||||||
|
|
||||||
@ -126,21 +107,17 @@ PROT <version> PING
|
|||||||
|
|
||||||
### Requête 3.2
|
### Requête 3.2
|
||||||
|
|
||||||
Envoi de la réponse du client au serveur pour la [1.3.1](#*Requête 3.1)
|
Envoi de la réponse du client au serveur pour la [requête 3.1](#requête-31)
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> PONG
|
PROT <version> PONG
|
||||||
```
|
```
|
||||||
|
|
||||||
Échange de messages
|
## Échange de messages
|
||||||
-------------------
|
### Échange de messages publics
|
||||||
|
|
||||||
### Messages publics
|
|
||||||
|
|
||||||
#### Requête 4.1.1
|
#### Requête 4.1.1
|
||||||
|
|
||||||
Envoi depuis le client vers le serveur d’un message public
|
Envoi depuis le client vers le serveur d’un message public
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> MSG <message>
|
PROT <version> MSG <message>
|
||||||
```
|
```
|
||||||
@ -148,17 +125,15 @@ PROT <version> PONG
|
|||||||
#### Requête 4.1.2
|
#### Requête 4.1.2
|
||||||
|
|
||||||
Transmission d’un message d’un client vers les autres clients
|
Transmission d’un message d’un client vers les autres clients
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> FROM <username> MSH <message>
|
PROT <version> FROM <username> MSG <message>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Messages privés
|
### Échange de messages privés
|
||||||
|
|
||||||
#### Requête 4.2.1
|
#### Requête 4.2.1
|
||||||
|
|
||||||
Transmission d’un message d’un client vers un autre client
|
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (client vers serveur)
|
||||||
uniquement, spécifié par son nom d’utilisateur (client vers serveur)
|
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> PRIV TO <dest-username> MSG <msg>
|
PROT <version> PRIV TO <dest-username> MSG <msg>
|
||||||
@ -166,8 +141,26 @@ PROT <version> PONG
|
|||||||
|
|
||||||
#### Requête 4.2.2
|
#### Requête 4.2.2
|
||||||
|
|
||||||
Transmission d’un message d’un client vers un autre client
|
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (serveur vers client)
|
||||||
uniquement, spécifié par son nom d’utilisateur (serveur vers client)
|
|
||||||
|
``` text
|
||||||
|
PROT <version> PRIV FROM <username> MSG <message>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Messages privés
|
||||||
|
|
||||||
|
#### Requête 4.2.1
|
||||||
|
|
||||||
|
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (client vers serveur)
|
||||||
|
|
||||||
|
``` text
|
||||||
|
PROT <version> PRIV TO <dest-username> MSG <msg>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Requête 4.2.2
|
||||||
|
|
||||||
|
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (serveur vers client)
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
PROT <version> PRIV FROM <username> MSG <message>
|
PROT <version> PRIV FROM <username> MSG <message>
|
||||||
|
Loading…
Reference in New Issue
Block a user