Add client communication spec
This commit is contained in:
parent
d23cf2bfda
commit
42a5d835dc
124
RFC8497.md
124
RFC8497.md
@ -138,3 +138,127 @@ Réponse à `updateAsk`.
|
||||
|
||||
Permet de transférer une requête directement grâce au champ `dest` de la requête à transférer.
|
||||
|
||||
Communication entre un client et un noeud
|
||||
-----------------------------------------
|
||||
|
||||
### Register ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: register
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
Rien
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Cette requête est envoyée par un client pour s'enregistrer sur le réseau. Le serveur répond avec un `registerACK`.
|
||||
|
||||
### RegisterACK ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: registerACK
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
id_noeud::id_client
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Réponse à un `register`. Le noeud communique au client son id et l'id du noeud auquel il est connecté.
|
||||
|
||||
### Send ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: send
|
||||
to: id_client_destinataire
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
message_a_envoyer
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Cette requête est envoyé par un client enregistré à un noeud pour envoyer un message à un autre client. Le noeud va tansférer le message au client, soit directement, soit par d'autre noeuds. La requête `sendACK` est envoyée en retour.
|
||||
|
||||
### SendACK ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: sendACK
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
Rien
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Cette requête est envoyée par le destinataire d'une requête `send` après avoir transféré le message et avoir reçu le sendACK associé à l'envoi.
|
||||
|
||||
C1 N1 C2
|
||||
> send > > send >
|
||||
Wait sendACK from C2
|
||||
< sendACK < < sendACK <
|
||||
|
||||
### Exit ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: exit
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
id_client
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Envoyé par le client pour se déconnecter du réseau. Ne demande aucune réponse de la part du noeud.
|
||||
|
||||
### Ping ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: ping
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
Rien
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Envoyé par le serveur pour vérifier qu'un client est encore en ligne. Exige une réponse `pingACK` de la part du client.
|
||||
|
||||
### PingACK ###
|
||||
|
||||
###### En-tête ######
|
||||
|
||||
EICP2P2 V1
|
||||
dest: ip:port
|
||||
type: pingACK
|
||||
|
||||
###### Contenu ######
|
||||
|
||||
Rien
|
||||
|
||||
###### Utilisation ######
|
||||
|
||||
Réponse duclient à une requête de ping.
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user