This commit is contained in:
nbillard 2023-02-13 09:35:47 +01:00
parent 5c17cf7f6d
commit 183cf993e4

View file

@ -402,32 +402,44 @@ int main (int argc, char **argv) {
printf("PUITS: connexion acceptée\n");
if (source == 1) {
//envoi
for(i=0; i<nb_message; i++) {
printf("SOURCE: Envoi ");
construire_message(pmesg, (char)((i%26)+97), lg_mesg);
afficher_message(pmesg, lg_mesg, (i+1));
send(sock_bis, pmesg, lg_mesg, 0);
}
} else {
//reception
lg_max=lg_mesg;
if (nb_message == -1) {
count = 0;
while ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) {
count++;
printf("PUITS: Reception ");
afficher_message(pmesg, lg_mesg, count);
}
} else {
for (int k=0; k<nb_message; k++) {
if ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) {
printf("PUITS: Reception ");
afficher_message(pmesg, lg_mesg, (k+1));
switch(fork()) {
case -1:
printf("erreur durant le fork\n");
exit(1);
break;
case 0:
close(sock);
if (source == 1) {
//envoi
for(i=0; i<nb_message; i++) {
printf("SOURCE: Envoi ");
construire_message(pmesg, (char)((i%26)+97), lg_mesg);
afficher_message(pmesg, lg_mesg, (i+1));
send(sock_bis, pmesg, lg_mesg, 0);
}
} else {
//reception
lg_max=lg_mesg;
if (nb_message == -1) {
count = 0;
while ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) {
count++;
printf("PUITS: Reception ");
afficher_message(pmesg, lg_mesg, count);
}
} else {
for (int k=0; k<nb_message; k++) {
if ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) {
printf("PUITS: Reception ");
afficher_message(pmesg, lg_mesg, (k+1));
}
}
}
}
}
}
break;
default:
close(sock_bis);
break;
}
}