Bonjour,
jé fé un programme ki a le principe suivant (je vé mettre le code au dessous) : a chake foi qu'une socket client se connecte au serveur , j'incremente une variable nb (le nombre de sockets clients connécté) é je fé un fork pour traité ce client , je voudrai savoir comment faire pour qu'a chaque fois ke j'incremente la variable nb , tt les processus fils creer auparavant fasse la maj de leur variable nb (le pere informe tt ces fils de la maj), je ne pe utiliser ke les fichiers, signaux ou les pipes on cas extreme, voici la portion du code abrégé avec les commentaire :
coment faire pour executer le code 1 seulement si le pere a incrementer le nb (avec les signaux et fichiers) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 while (1) { // je teste s'il ya une socket ki c connécté nsd = accept(sd, , ); // si c le cas j'incremente nb nb++ // j'ecri dan le fichier la valeur de nb write(f,&nb,sizeof(int)); pid = fork(); if (pid = = 0) { // code du fils // je doi executer le code 1 si seulement nb a été modifée dan le pere //code 1 { // lire ce k'il ya dan le fch read(f,&nb,sizeof(int); } //code 2 { // autre traitement } } // fin du while
Merci
Partager