next up previous contents
suivant: Différents modes (réseau/local) monter: Serveurs précédent: Serveurs   Table des matières

Principal et session

Pour permettre la coexistence de plusieurs sessions différentes, il a fallu utiliser deux serveurs. Le premier appelé principal est celui qui gère les connexions, les invitations et les déconnexions. Le deuxième gère l'édition proprement dite en différenciant les sessions.

Le serveur principal permet de voir la liste des personnes présentes et d'ouvrir des sessions seul ou en commun avec d'autres. L'utilisateur tape son nom au départ puis se loge sur une page ou il y a d'un coté la liste des personnes connectées, et de l'autre la liste des sessions en cours. Il peut soit demander à se joindre à une session existante, soit démarrer une session seul, soit inviter une personne à une session.

Quand une session démarre, le serveur principal lui attribue un numéro unique, que les différents participants à ladite session utiliseront pour s'identifier et pour communiquer entre eux à travers le serveur de session. Il efface ensuite les noms des personnes de la liste des connectés, puis rajoute la session à la liste des sessions.

Chaque chaîne transmise au serveur de session par l'un des participants, est précédée par ce numéro. Le serveur n'informe donc que les personnes connectées à ce numéro.

Quand une session est terminée, et si les personnes sont encore connectées, ils sont repris en charge par les serveur principal, qui réaffiche leurs noms dans la liste des connectés, et qui efface la session de la liste des sessions.

Les deux serveurs utilisent bien entendu des numéros de sockets différents pour communiquer avec les clients.

Voici un exemple simple de deux personnes qui arrivent sur le site :

événement Serveur Principal Serveur de sessions
  liste des sessions liste des connectés action du serveur liste des sessions liste des connectés  
A se loge   A ajouter A à la liste des connectés      
B se loge   A B ajouter B à la liste des connectés      
A invite B à une session   A B informer B de l'invitation de A      
B accepte l'invitation 1:A/B   supprimer A et B de la liste des connectés, leur attribuer et leur communiquer un numéro de session, et les ajouter à la liste des sessions      
      Début de session      
A se connecte au serveur de sessions avec le numéro 1:A/B     1 A71#711 Ajouter A à la liste des connectés, et la session correspondante à la liste des sessions
B se connecte au serveur de sessions avec le numéro 1:A/B     1 A71#711, B71#711 Ajouter B à la liste des connectés


next up previous contents
suivant: Différents modes (réseau/local) monter: Serveurs précédent: Serveurs   Table des matières
Nabil Bouzaiene 2000-07-12