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