:: Enseignements :: ESIPE :: E4INFO :: 2015-2016 :: Programmation d'applications réseaux ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) |
ChatIR : service de chat
|
Le but du projet ChatIR est de réaliser un service de discussions et d'échanges de fichiers.
Principe de l'application
Les clients se connectent à un serveur. Chaque client connecté est identifié par un pseudonyme.
Le serveur doit garantir que deux clients ne peuvent pas avoir le même pseudonyme.
Une fois connectés et identifiés par un pseudonyme, les clients peuvent:
- envoyer des messages qui seront transmis à tous les clients connectés.
- envoyer des messages privés et des fichiers à un autre utilisateur.
Par rapport à un serveur de chat standard (type IRC), la particularité de ce projet est que
tous les messages privés et les fichiers sont envoyés par une connection directe entre les deux clients:
le serveur permet juste dans ce cas de s'échanger les adresses des clients.
Le protocole devra permettre aux clients de faire des demandes de communication privée et d'accepter/refuser
la communication privée.
Une fois que la communication privée entre deux clients est établie, l'envoi/réception de fichiers ne doit pas
bloquer les messages entre ces deux clients.
Travail attendu
Le travail est à réaliser en binôme (pas plus, pas moins), homogène en terme de filière (IR avec IR, IG avec IG).
-
Vous devrez concevoir votre propre protocole qui décrira le format des échanges entre le serveur et les clients.
Vous rédigerez une RFC qui présente en détail le protocole. Pour un exemple de RFC, vous pouvez regarder la RFC
du protocole TFTP.
-
Vous devrez réaliser un client et un serveur qui implémente votre protocole.
Pour les IR, le serveur devra impérativement être implémenté en mode non-bloquant.
Dates
Les trois étapes du rendu seront évaluées à part égales.
Attention: si rien n'est rendu le 13 Avril, la note globale du projet sera 0 et il ne sera pas possible d'accéder aux étapes suivantes.
- Rendu de la RFC 13 Avril 2016
- Démonstration et soutenance de la première version de votre code 19 Mai 2016
- Rendu de la version finale 29 Mai 2016
© Université de Marne-la-Vallée