Buffer natif au message et plus en affichage, problème de l'envoi du z dans la construction du message

This commit is contained in:
Béranger Quintana 2020-04-15 00:32:08 +02:00
parent e1c3fa876b
commit 2a61a459e9
3 changed files with 78 additions and 19 deletions

88
tsock.h
View file

@ -34,6 +34,8 @@ void construire_message2(char *message, char motif, int lg, int i)
char alphabet[] = "abcdefghijklmnopqrstuvwxyz"; char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
if (i>26) if (i>26)
motif=alphabet[i%26-1]; motif=alphabet[i%26-1];
else if (i=26)
motif='z';
else else
motif = alphabet[i - 1]; motif = alphabet[i - 1];
@ -83,43 +85,97 @@ void printbuffer(int n)
//------------------PRINTBUFFER2---------------------- //------------------PRINTBUFFER2----------------------
void printbuffer2(int n , char*message) void printbuffer2(int n , char*message)
{ {
if (n>=100000)
{
printf("Trop de messages à envoyer (n>1000000 \n");
exit(1);
}
if (n<10) if (n<10)
{ {
for (int i=0 ; i<4 ; i++) for (int i=0 ; i<4 ; i++)
{ {
*(message+i)='-'; *(message+i)='-';
} }
*(message+4)=n; //char nb[1];
*(message+4)= n + '0';
} }
if (n>=10 & n<100) if (n>=10 & n<100)
{ {
char nb[2];
for (int i=0 ; i<3 ; i++) for (int i=0 ; i<3 ; i++)
{ {
*(message+i)='-'; *(message+i)='-';
} }
*(message+3)=n; sprintf(nb,"%d",n);
*(message+3)=*nb;
n=n%10;
sprintf(nb,"%d", n);
*(message+4)=*nb;
} }
if (n>=100 & n<1000) if (n>=100 & n<1000)
{ {
printf("[--%d",n); char nb[3];
for (int i=0 ; i<2 ; i++)
{
*(message+i)='-';
}
sprintf(nb,"%d",n);
*(message+2)=*nb;
n=n%100;
sprintf(nb,"%d", n);
*(message+3)=*nb;
n=n%10;
sprintf(nb,"%d", n);
*(message+4)=*nb;
} }
if (n>=1000 & n<10000) if (n>=1000 & n<10000)
{ {
printf("[--%d",n); int j=1000;
char nb[4];
for (int i=0 ; i<2 ; i++)
{
*(message+i)='-';
}
sprintf(nb,"%d",n);
*(message+1)=*nb;
n=n%1000;
sprintf(nb,"%d", n);
*(message+2)=*nb;
n=n%100;
sprintf(nb,"%d", n);
*(message+3)=*nb;
n=n%10;
sprintf(nb,"%d", n);
*(message+4)=*nb;
} }
if (n>=10000 & n<100000) if (n>=10000 & n<100000)
{ {
printf("[-%d",n); char nb[4];
} for (int i=0 ; i<2 ; i++)
if (n>=100000 & n<1000000)
{ {
printf("[%d",n); *(message+i)='-';
} }
if (n>=1000000) sprintf(nb,"%d",n);
{ *(message)=*nb;
printf("Trop de messages à envoyer (n>1000000 \n"); n=n%10000;
exit(1); sprintf(nb,"%d", n);
*(message+1)=*nb;
n=n%1000;
sprintf(nb,"%d", n);
*(message+2)=*nb;
n=n%100;
sprintf(nb,"%d", n);
*(message+3)=*nb;
n=n%10;
sprintf(nb,"%d", n);
*(message+4)=*nb;
} }
} }
//Construction des messages //Construction des messages
@ -273,7 +329,6 @@ void reception_UDP(int port, int nb_message, int lg_message)
else else
{ {
printf("PUITS : Réception n°%d (%d) :",i,lg_message); printf("PUITS : Réception n°%d (%d) :",i,lg_message);
//printbuffer(i);
afficher_message(message,recv); afficher_message(message,recv);
} }
} }
@ -342,12 +397,12 @@ void ClientTCP (int port, int nb_message , int lg_msg , char* dest)
for (int i=1; i<=nb_message;i++) for (int i=1; i<=nb_message;i++)
{ {
printf("SOURCE : envoi n°%d (%d) ", i,lg_msg); printf("SOURCE : envoi n°%d (%d) [", i,lg_msg);
//Création du message //Création du message
construire_message(message,motif,lg_msg,i); construire_message(message,motif,lg_msg,i);
printbuffer(i); printbuffer2(i,message);
afficher_message(message,lg_msg); afficher_message(message,lg_msg);
//Envoi du message //Envoi du message
@ -453,13 +508,12 @@ void ServeurTCP(int port , int nb_message, int lg_msg)
for (int i=1;i<=nb_message;i++) for (int i=1;i<=nb_message;i++)
{ {
printf("PUITS : Réception n°%d (%d) " , i , lg_msg); printf("PUITS : Réception n°%d (%d) [" , i , lg_msg);
if((lg_recv=read(sock2,message, lg_msg))<0) if((lg_recv=read(sock2,message, lg_msg))<0)
{ {
printf("Echec de la lecture du message entrant \n"); printf("Echec de la lecture du message entrant \n");
exit(1); exit(1);
} }
printbuffer(i);
afficher_message(message, lg_recv); afficher_message(message, lg_recv);
} }
//Fermeture connexion //Fermeture connexion

BIN
tsock_v3 Normal file → Executable file

Binary file not shown.

View file

@ -79,6 +79,11 @@ void main (int argc, char **argv)
case 'n': case 'n':
nb_message = atoi(optarg); nb_message = atoi(optarg);
if (nb_message>100000)
{
printf("Trop d'envois, n> 100 000\n");
exit (1);
}
break; break;
case 'u': case 'u':