Application Multithread Client/Serveur pour la Réservation de Chambres à l’Hôtel California
But du Projet
Développer une application client/serveur permettant la gestion des réservations de chambres à l'Hôtel California. Cette application utilise des sockets TCP/IP et est multithread, ce qui lui permet de gérer plusieurs clients simultanément.
Organisation des Programmes
Module Serveur
- Initialisation et Écoute : Définition de constantes comme le port du serveur et le nombre de chambres, initialisation d'un mutex pour synchroniser l'accès à la liste des chambres disponibles et création d’un socket pour écouter les demandes de connexion.
- Gestion des Connexions : À chaque tentative de connexion d'un client, le serveur accepte la connexion et crée un nouveau thread spécifique à ce client. Ce thread gère toutes les interactions avec le client connecté, permettant au socket principal de continuer à écouter d'autres demandes.
- Multithreading : Chaque thread client fonctionne de manière autonome pour répondre aux requêtes du client. Un thread dédié est créé pour chaque chambre réservée, s'occupant spécifiquement de la réservation de cette chambre, de la gestion des services associés (comme le petit-déjeuner et le Wi-Fi), et de la synchronisation des données de disponibilité des chambres avec les autres threads en utilisant des mutex.
- Libération des Ressources : Après la période de réservation, un thread spécifique est lancé pour libérer la chambre, permettant ainsi de la remettre à disposition pour de nouvelles réservations.
Module Client
Les clients créent un socket pour se connecter au serveur, envoient leurs demandes de réservation (nombre de chambres, durée du séjour, services supplémentaires), et reçoivent les confirmations et les informations sur les chambres disponibles.
Améliorations Futures
Précision des Réservations : Implémentation d'une fonctionnalité demandant les dates de début et de fin de séjour pour chaque réservation, améliorant ainsi la précision de la gestion des disponibilités des chambres.
Mise en Œuvre d’une Simulation de Réservation à l'Hôtel California
Scénario de Simulation : Une famille désirant planifier des vacances bien méritées, choisit de réserver deux chambres à l'Hôtel California pour un séjour de cinq jours. Ils réservent une chambre double et une chambre triple, spécifiant des services comme le petit déjeuner inclus pour tous mais sans Wi-Fi pour les chambres des enfants pour favoriser le temps familial hors ligne. Cette simulation démontre le processus complet de réservation via l'application, de la sélection des chambres à la confirmation des services.
Learn more about this project here