serveur infini

This commit is contained in:
nbillard 2023-02-13 09:25:00 +01:00
parent 76d4f14232
commit 507f786195

View file

@ -254,22 +254,22 @@ int main (int argc, char **argv) {
lg_max=lg_mesg; lg_max=lg_mesg;
//reception //reception
if (nb_message == -1) { /* if (nb_message == -1) { */
while ((lg_mesg=recvfrom(sock, pmesg, lg_max, 0, (struct sockaddr*)&adr_em, &lg_adr_em)) != -1) { while ((lg_mesg=recvfrom(sock, pmesg, lg_max, 0, (struct sockaddr*)&adr_em, &lg_adr_em)) != -1) {
printf("PUITS: Reception "); printf("PUITS: Reception ");
count++; count++;
afficher_message(pmesg, lg_mesg, count); afficher_message(pmesg, lg_mesg, count);
} }
} /* } */
else { /* else { */
for (int k=0; k<nb_message; k++) { /* for (int k=0; k<nb_message; k++) { */
if((lg_mesg=recvfrom(sock, pmesg, lg_max, 0, (struct sockaddr*)&adr_em, &lg_adr_em)) != -1) { /* if((lg_mesg=recvfrom(sock, pmesg, lg_max, 0, (struct sockaddr*)&adr_em, &lg_adr_em)) != -1) { */
printf("PUITS: Reception "); /* printf("PUITS: Reception "); */
afficher_message(pmesg, lg_mesg, (k+1)); /* afficher_message(pmesg, lg_mesg, (k+1)); */
} /* } */
} /* } */
} /* } */
if (close(sock)==-1) { if (close(sock)==-1) {
@ -280,7 +280,7 @@ int main (int argc, char **argv) {
} }
else { //connexion TCP else { //connexion TCP
//---------SOURCE---------// //---------Client---------//
if (client == 1) { if (client == 1) {
if (nb_message ==-1) { if (nb_message ==-1) {
@ -355,7 +355,7 @@ int main (int argc, char **argv) {
} }
//---------PUITS---------// //---------Serveur---------//
else { else {
if (nb_message == -1) { if (nb_message == -1) {
@ -391,42 +391,45 @@ int main (int argc, char **argv) {
exit(1); exit(1);
} }
//acceptation d'une demande de connexion while (1) {
if((sock_bis=accept(sock,(struct sockaddr *)&adr_em, &lg_adr_em)) == -1) {
printf("echec du accept\n");
exit(1);
}
printf("PUITS: connexion acceptée\n"); //acceptation d'une demande de connexion
if((sock_bis=accept(sock,(struct sockaddr *)&adr_em, &lg_adr_em)) == -1) {
if (source == 1) { printf("echec du accept\n");
//envoi exit(1);
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 printf("PUITS: connexion acceptée\n");
lg_max=lg_mesg;
if (nb_message == -1) { 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) { */
int count = 0; int count = 0;
while ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) { while ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) {
count++; count++;
printf("PUITS: Reception "); printf("PUITS: Reception ");
afficher_message(pmesg, lg_mesg, count); afficher_message(pmesg, lg_mesg, count);
} }
} else { /* } else { */
for (int k=0; k<nb_message; k++) { /* for (int k=0; k<nb_message; k++) { */
if ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) { /* if ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0) { */
printf("PUITS: Reception "); /* printf("PUITS: Reception "); */
afficher_message(pmesg, lg_mesg, (k+1)); /* afficher_message(pmesg, lg_mesg, (k+1)); */
} /* } */
} /* } */
/* } */
} }
}
}
if (close(sock)==-1) { if (close(sock)==-1) {
printf("Échec de destruction du socket\n"); printf("Échec de destruction du socket\n");
exit(1); exit(1);