LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009
-
28 déc. 2007 à 21:38
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009
-
28 déc. 2007 à 21:41
Salut à tous,
J'ai encore besoin de vos services ! J'ai un petit soucis que je ne comprends pas trop. Pour l'école, je dois faire un programme que l'on doit contrôler à grâce à un prompt ... En fait, c'est un petit serveur bateau que l'on peut lancer (commande START), arrêter (commande STOP) et redémarrer (RESTART).
Concrêtement, on arrive dans le shell et on lance le serveur :
$ ./server
Du coup, c'est le prompt du serveur qui prends la main :
Serveur >
Et là, il suffit de lui taper ce que l'on veut faire (par exemple le lancer) :
Serveur > START
Et il fait ce qu'on lui demande ...
Le truc, c'est que j'ai jamais fait ça ! Du coup, j'ai tenté quelque chose ... On fait un fork dès le départ : le processus père correspond alors à la boucle du serveur (un truc avec des sockets et tout ça, mais là c'est un autre problème ) et le processus fils correspond à la la boucle utilisateur (le prompt qui affiche serveur et tout et tout). Sauf qu'en fait ... Bah je sais plus comment faire. Quels moyens je dois mettre en oeuvre pour faire communiquer les 2 processus ? Les signaux ? Autre chose ? Quoi ?
En plus, le code suivant provoque une boucle infinie dès le lancement (chose qui ne se produisait pas avant que j'implémente le fork() ...). Donc si quelqu'un peut m'aider, je l'en remercie d'avance !
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 28 déc. 2007 à 21:41
Et encore une chose ... Je vous fait grâce du code des fonctions du genre raiseError() et tout ça. Je pense que le nom est suffisement clair pour que j'ai à éviter d'expliquer chacune des fonctions !