My Teams est un système de communication client-serveur TCP qui illustre les principes de base de la programmation réseau. Ce projet permet aux clients de se connecter à un serveur, d'envoyer des messages qui sont ensuite diffusés à tous les clients connectés, démontrant ainsi un échange de données en temps réel via TCP.
- Serveur TCP : Gère les connexions clients entrantes sur un port spécifié et prend en charge plusieurs clients simultanément.
- Client TCP : Se connecte au serveur et permet à l'utilisateur d'envoyer des messages. Les messages sont reçus de tous les clients connectés, permettant ainsi une communication interactive.
- Gestion Multi-Clients : Utilise
select()pour gérer de multiples connexions clients de manière non bloquante, sans recourir àfork(), ce qui améliore l'efficacité du serveur.
- Un système d'exploitation Linux, macOS ou compatible UNIX.
- Le compilateur GCC pour la compilation des programmes.
- Make pour automatiser la compilation avec le
Makefilefourni.
Un Makefile est fourni pour faciliter la compilation des programmes serveur et client. Suivez ces étapes pour compiler :
- Ouvrez un terminal dans le répertoire du projet.
- Exécutez la commande suivante pour compiler le serveur et le client :
Les exécutables seront placés dans le dossier
make
bin/.
Pour lancer le serveur, exécutez :
./bin/serveur <port>Remplacez <port> par le numéro de port sur lequel le serveur doit écouter.
Pour démarrer un client, exécutez :
./bin/client <adresse_serveur> <port> <pseudo>Remplacez <adresse_serveur> par l'adresse IP du serveur, <port> par le numéro de port, et <pseudo> par le nom d'utilisateur souhaité.
Ce projet a été développé dans un contexte académique pour approfondir la compréhension de la programmation réseau, l'architecture client-serveur et les protocoles TCP/IP. Il vise à offrir une expérience pratique de la gestion de connexions réseau simultanées dans un environnement de serveur.
Bien que fonctionnel, EchoNet est un projet à visée éducative et pourrait ne pas être adapté à un usage en production sans modifications supplémentaires.
EchoNet est mis à disposition sous Licence MIT. Pour plus de détails, consultez le fichier LICENSE.