samy7cav
Messages postés7Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention29 janvier 2006
-
29 janv. 2006 à 16:21
samy7cav
Messages postés7Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention29 janvier 2006
-
29 janv. 2006 à 19:45
Bonjour,
Voilà pour un sujet dans le cadre d'une formation en info, j'ai un projet à faire en C.
Si quelque pense pouvoir m'aider ou même répondre à ses différentes questions je suis prêt.
Un paiement est possible, contactez moi via MP
Le sujet :
Enoncé du projet
On considère une application
client-serveur pour laquelle les processus clients et les processus serveurs
sexécutent sur une même machine.
Cette application permet de
réserver des places pour un ensemble de spectacles.
Des processus clients remettent
deux types de requêtes à destination du serveur de réservation :
- requête de consultation
permettant de consulter le nombre de places restantes pour un spectacle donné.
- requête de réservation
permettant de réserver n places pour un spectacle donné.
Le serveur de réservation est
composé de deux processus :
- un processus serveur
Consultation prend en compte les requêtes de consultation. Pour chacune delle,
il renvoie le nombre de places disponibles pour le spectacle spécifié dans la requête.
- un processus serveur
Réservation prend en compte les requêtes de réservation. Pour chacune delle,
il créé un processus fils qui effectue la réservation si cela est possible.
Dans le cas où la réservation a pu être faite, le processus fils renvoie au
client un acquittement de réservation et sinon un message derreur.
Les informations concernant les
spectacles sont stockées dans une table en mémoire centrale. Une entrée de la
table concerne un spectacle et donne les informations suivantes : Intitulé du
spectacle, nombre de places restantes, date de la représentation. Chaque
spectacle est joué une seule fois.
Contraintes :
- les clients et les serveurs
sont sur une même machine ;
- les processus fils du
processus serveur Réservation recouvrent le code hérité du père par une code
exécutable contenant les actions de réservation.
Travail demandé
- Choisissez les outils de communication qui vous
paraissent les plus adaptés entre dune part, les clients et les serveurs,
dautre part entre le processus Réservation et ses fils. Justifiez votre choix.
- Détaillez la structure des messages échangés entre les
processus.
- Spécifiez une solution permettant de réaliser les actions
décrites dans lénoncé. Vous donnerez notamment les pseudos codes précis de
chacun des processus suivants :
- le processus client ;
- le processus Réservation
- le processus fils du processus Réservation
- le processus Consultation
Facultatif
- Codez tout ou partie de
lapplication en C sous Linux.
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 29 janv. 2006 à 17:10
Salut....
Je suppose que c'est a rendre pour dans deux heures et que tu paieras un allopass pour la totalité du projet réalisé.... Nan je veux dire faut pas déconner non plus, on est pas là pour faire le boulot des autres... Attaques ton projet, et si tu as un souci particulier, pose ta question, et on pourra te répondre
Bonne soirée @+
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 29 janv. 2006 à 17:20
Très juste Vale Erian...
Et puis il y a encore quelque chose qu'on apprend très vite quand on fait une formation en info... Par exemple en IUT (comme moi :p)... On attend pas deux jours avant de rendre un projet avant de le commencer ! On se fait avoir une fois parce qu'on se dit c'est facile, deux fois parce que c'est pas compliqué, puis la troisième fois, on s'y met de suite et, comme par hasard, on termine dans les temps :)
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
samy7cav
Messages postés7Date d'inscriptiondimanche 29 janvier 2006StatutMembreDernière intervention29 janvier 2006 29 janv. 2006 à 17:24
lol oui je suis bien ok ...
Mais bon ce sont des cours du soir ...donc la famille, le boulot etc... et paf le projet qui arrive dans les dents lol
Voilà ou j'en suis :
Communication
la plus adaptée clients/serveur : Socket
Justification :
client/serveur
: pas de relation entre les processus donc pas de connaissance de l'un pour
l'autre d'un point de vue système. Donc utilisation du réseau même en loopback
Communication
la plus adaptée serveur/fils : IPC
Justification :
serveur
et proc fils : communication via l'ID du proc père et mémoire partagée entre
les différents proc
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 29 janv. 2006 à 17:33
Re....
Autant pour moi, je croyais que tu suivais une formation continue....
Donc ton pseudo-code pour le client m'a pas l'air mal, j'ai juste l'impression qu'il y a un souci dans ta requete de consultation...
Je pense que le serveur devrait retourner par exemple d'abord le nombre de résultats, puis la liste des résultats... Ce que tu as fait est a mon avis correct pour une base de données, mais ne fonctionnerait pas pour les sockets... Donc ca serait plutôt :
NBREPONSE = sSocket.Envoi("Consult");
POUR i de 0 à NBREPONSE
REPONSE = sSocket.Reception();
AFFICHE [...]
FPOUR
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 29 janv. 2006 à 19:37
Salut :)
Le descripteur SOCKET n' existe pas sous linux!
"La structure des messages échangés entre les processus", il s'agit certainement du protocole que tu crées pour que les deux extrêmités puissent échanger des données.
Le projet à l' air super intéressant, c'est quoi comme formation ?