Retour aux projets

Chat Distribué

2 semaines - Mars 2024 UBO - UFR Sciences et Techniques, Brest 29200
Chat Distribué

Application de messagerie instantanée distribuée développée en Java, mettant en pratique les concepts avancés de programmation réseau et de systèmes concurrents.

Architecture Serveur

Le projet implémente trois architectures serveur distinctes :

1. Architecture Classique (Bloquante)

  • Utilisation des I/O streams traditionnels
  • Gestion séquentielle des connexions

2. Architecture Non-Bloquante (NIO)

  • Utilisation du package java.nio
  • Selector pour multiplexage I/O
  • Performance optimisée

3. Architecture Multithreadée

  • ThreadPool pour gestion concurrente
  • Traitement parallèle des requêtes

Fonctionnalités Réseau

  • Protocole TCP/UDP pour communication fiable
  • Multicast pour diffusion de groupe
  • Heartbeat pour détection de pannes
  • Gestion robuste des connexions/déconnexions

Interface Graphique

Interface JavaFX professionnelle avec :

  • Gestion complète des événements utilisateur
  • Affichage temps réel des messages
  • Liste des utilisateurs connectés

Infrastructure

  • Docker pour déploiement conteneurisé
  • Orchestration multi-conteneurs
  • Simulation d'environnement distribué

Patterns Implémentés

  • Producer-Consumer pour gestion des messages
  • Future/Callable pour opérations asynchrones
  • Synchronisation thread-safe

Ce projet démontre ma maîtrise de la programmation réseau et des systèmes distribués.