1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
1 Présentation générale
Ce petit projet vise à mettre en ÷uvre des communications entre processus dans l'Internet à
base de protocoles connus tout en dénissant un protocole spécique au niveau de l'application.
On veut mettre en place un moyen de discussion entre plusieurs utilisateurs. Les participants
à la discussion seront les discuteurs, tous clients d'un serveur dit parlotteur. Le rôle du serveur est
de diuser à tous les utilisateurs tout texte expédié par l'un d'eux.
Les fonctionnalités du parlotteur pourront être améliorées, au fur et à mesure de l'avancement
du projet.
Chaque discuteur commence par s'identier auprès du serveur. Son identité va servir de préxe
à tout texte qu'il désire expédier. Le préfixe est apposé par le parlotteur. Un discuteur peut se
joindre à la discussion à tout moment, dès que le serveur est lancé. Il peut aussi quitter la discussion
à sa guise. Lorsqu'il la quitte, il annonce sa volonté de la quitter au serveur. Bien évidemment, le
premier discuteur devra attendre l'arrivée d'au moins un second. De même, dès qu'un discuteur
se retrouve seul, il doit en être averti.
Le protocole de transport choisi sera tcp.
Un problème délicat à résoudre est lié indirectement à l'interface utilisateur. En eet, on notera
que la réalisation d'une interface sophistiquée n'est pas demandée. Or, dans le cas d'une interface
fenêtre simple, le partage d'une fenêtre en plusieurs parties ou encore l'association d'une fenêtre
spécique à un processus n'est pas simple. Pour éviter cette diculté, chaque discuteur aura en
fait deux processus à lancer, chacun dans une fenêtre séparée :
un expéditeur, qui prend ce que le discuteur tape au clavier et l'expédiera au serveur, bien
évidemment dans le protocole d'application déterminé,
un récepteur, qui ache le texte reçu du serveur.
Ce fonctionnement pourra évoluer par la suite, à l'aide d'indications qui seront fournies plus
tard en TD. Ne le faire que lorsque cette première version fonctionne correctement ; conserver cette
version !
2 Réalisation
Les seuls impératifs de la réalisation sont ceux cités ci-dessus.
Concernant l'identité du discuteur, on envisagera les cas suivants :
l'identité du discuteur est fournie par le client, qui a récupéré les données de l'utilisateur à
partir de son numéro (le propriétaire du processus) ; il extrait donc le nom et l'expédie au
serveur au début de sont intégration dans la discussion ;
seul le numéro de l'utilisateur (toujours le même propriétaire du processus) est expédié au
serveur qui se charge de récupérer les données de l'utilisateur. |
Partager