forking
This commit is contained in:
parent
5c17cf7f6d
commit
183cf993e4
1 changed files with 37 additions and 25 deletions
62
tsock_v4.c
62
tsock_v4.c
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue