tentative v4
This commit is contained in:
parent
41c4a87755
commit
e1c3fa876b
2 changed files with 74 additions and 11 deletions
85
tsock.h
85
tsock.h
|
@ -11,12 +11,15 @@
|
||||||
//---------------------------------------------------
|
//---------------------------------------------------
|
||||||
|
|
||||||
void construire_message(char *message, char motif, int lg, int i);
|
void construire_message(char *message, char motif, int lg, int i);
|
||||||
|
void construire_message2(char *message, char motif, int lg, int i);
|
||||||
void afficher_message(char *message, int lg);
|
void afficher_message(char *message, int lg);
|
||||||
void envoi_UDP(int port, int nb_message , int lg_msg, char*dest);
|
void envoi_UDP(int port, int nb_message , int lg_msg, char*dest);
|
||||||
void reception_UDP(int port, int nb_message , int lg_message);
|
void reception_UDP(int port, int nb_message , int lg_message);
|
||||||
void ClientTCP (int port, int nb_message , int lg_msg, char* dest);
|
void ClientTCP (int port, int nb_message , int lg_msg, char* dest);
|
||||||
void ServeurTCP(int port , int nb_message, int lg_msg);
|
void ServeurTCP(int port , int nb_message, int lg_msg);
|
||||||
void printbuffer(int n);
|
void printbuffer(int n);
|
||||||
|
void printbuffer2(int n , char*message);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,11 +27,27 @@ void printbuffer(int n);
|
||||||
//-------------Définitions des fonctions-------------
|
//-------------Définitions des fonctions-------------
|
||||||
//---------------------------------------------------
|
//---------------------------------------------------
|
||||||
|
|
||||||
//-------------PRINTBUFFER
|
//-------------Construire message 2 -----------------
|
||||||
|
void construire_message2(char *message, char motif, int lg, int i)
|
||||||
|
{
|
||||||
|
|
||||||
|
char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
|
||||||
|
if (i>26)
|
||||||
|
motif=alphabet[i%26-1];
|
||||||
|
|
||||||
|
else
|
||||||
|
motif = alphabet[i - 1];
|
||||||
|
|
||||||
|
|
||||||
|
for (int j=0;j<lg-5;j++)
|
||||||
|
{
|
||||||
|
|
||||||
|
*(message+j+5) = motif;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//------------------PRINTBUFFER-----------------------
|
||||||
void printbuffer(int n)
|
void printbuffer(int n)
|
||||||
{
|
{
|
||||||
int r;
|
|
||||||
|
|
||||||
if (n<10)
|
if (n<10)
|
||||||
{
|
{
|
||||||
printf("[----%d",n);
|
printf("[----%d",n);
|
||||||
|
@ -59,9 +78,53 @@ void printbuffer(int n)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//------------------PRINTBUFFER2----------------------
|
||||||
|
void printbuffer2(int n , char*message)
|
||||||
|
{
|
||||||
|
if (n<10)
|
||||||
|
{
|
||||||
|
for (int i=0 ; i<4 ; i++)
|
||||||
|
{
|
||||||
|
*(message+i)='-';
|
||||||
|
}
|
||||||
|
*(message+4)=n;
|
||||||
|
}
|
||||||
|
if (n>=10 & n<100)
|
||||||
|
{
|
||||||
|
for (int i=0 ; i<3 ; i++)
|
||||||
|
{
|
||||||
|
*(message+i)='-';
|
||||||
|
}
|
||||||
|
*(message+3)=n;
|
||||||
|
}
|
||||||
|
if (n>=100 & n<1000)
|
||||||
|
{
|
||||||
|
printf("[--%d",n);
|
||||||
|
}
|
||||||
|
if (n>=1000 & n<10000)
|
||||||
|
{
|
||||||
|
printf("[--%d",n);
|
||||||
|
}
|
||||||
|
if (n>=10000 & n<100000)
|
||||||
|
{
|
||||||
|
printf("[-%d",n);
|
||||||
|
}
|
||||||
|
if (n>=100000 & n<1000000)
|
||||||
|
{
|
||||||
|
printf("[%d",n);
|
||||||
|
}
|
||||||
|
if (n>=1000000)
|
||||||
|
{
|
||||||
|
printf("Trop de messages à envoyer (n>1000000 \n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Construction des messages
|
//Construction des messages
|
||||||
|
|
||||||
void construire_message(char *message, char motif, int lg ,int i)
|
void construire_message(char *message, char motif, int lg, int i )
|
||||||
|
|
||||||
{
|
{
|
||||||
char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
|
char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
|
||||||
|
@ -130,16 +193,16 @@ void envoi_UDP(int port ,int nb_mess , int lg_msg,char*dest)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Après gethostbyname , nb_message= %d\n",nb_mess);
|
//printf("Après gethostbyname , nb_message= %d\n",nb_mess);
|
||||||
|
|
||||||
memcpy((char*)&(addr_distant.sin_addr.s_addr), hp->h_addr, hp->h_length);
|
memcpy((char*)&(addr_distant.sin_addr.s_addr), hp->h_addr, hp->h_length);
|
||||||
printf("Association IP OK\n");
|
//printf("Association IP OK\n");
|
||||||
printf("Nombre de messages à envoyer : %d\n", nb_mess);
|
//printf("Nombre de messages à envoyer : %d\n", nb_mess);
|
||||||
|
|
||||||
for (int i=1; i<=nb_mess ; i++)
|
for (int i=1; i<=nb_mess ; i++)
|
||||||
{
|
{
|
||||||
construire_message(message,'a',lg_msg,i);
|
construire_message(message,'a',lg_msg,i);
|
||||||
printf("SOURCE : Envoi n°%d (%d) ", i, lg_msg);
|
printf("SOURCE : Envoi n°%d (%d) [", i, lg_msg);
|
||||||
|
|
||||||
|
|
||||||
if((sent=sendto(sock,message,lg_msg,0,(struct sockaddr*)&addr_distant,sizeof(addr_distant)))==-1)
|
if((sent=sendto(sock,message,lg_msg,0,(struct sockaddr*)&addr_distant,sizeof(addr_distant)))==-1)
|
||||||
|
@ -147,7 +210,7 @@ void envoi_UDP(int port ,int nb_mess , int lg_msg,char*dest)
|
||||||
printf("Erreur sendto\n");
|
printf("Erreur sendto\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
printbuffer(i);
|
printbuffer2(i,message);
|
||||||
afficher_message(message,sent);
|
afficher_message(message,sent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +273,7 @@ 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);
|
//printbuffer(i);
|
||||||
afficher_message(message,recv);
|
afficher_message(message,recv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -291,7 +354,7 @@ void ClientTCP (int port, int nb_message , int lg_msg , char* dest)
|
||||||
|
|
||||||
if ((envoi=write(sock,message,lg_msg/*,0,(struct sockaddr*)&addr_distant,lg_addr_distant)*/))==-1)
|
if ((envoi=write(sock,message,lg_msg/*,0,(struct sockaddr*)&addr_distant,lg_addr_distant)*/))==-1)
|
||||||
{
|
{
|
||||||
printf("Echec de l'envoi du message (fonction send en défaut)\n");
|
printf("Echec de l'envoi du message (fonction write en défaut)\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
BIN
tsock_v3
BIN
tsock_v3
Binary file not shown.
Loading…
Reference in a new issue