diff --git a/tsock_v3.c b/tsock_v3.c index ed10db1..1a9da09 100644 --- a/tsock_v3.c +++ b/tsock_v3.c @@ -17,9 +17,8 @@ #include /* pour la gestion des erreurs */ #include -#define BASE_SIZE 10 - +// Remplit le message de lg caractères motif void construire_message(char* message, char motif, int lg); // Affichage distinct entre envoi et reception pour une facilité d'utilisation @@ -27,8 +26,12 @@ void afficher_message_envoi(char *message, int lg, int numero_envoi); void afficher_message_reception(char *message, int lg, int numero_envoi); // Permet de compter le nombre de digits d'un nombre, utile pour l'affichage [--143 ...] +// (base 10) int count_digits(int lg); +// Affiche l'usage de l'outil +void print_usage(); + int main (int argc, char **argv) { @@ -44,7 +47,7 @@ int main (int argc, char **argv) switch (c) { case 'p': if (source == 1) { - printf("usage: cmd [-p|-s][-n ##]\n"); + print_usage(); exit(1); } source = 0; @@ -52,7 +55,7 @@ int main (int argc, char **argv) case 's': if (source == 0) { - printf("usage: cmd [-p|-s][-n ##]\n"); + print_usage(); exit(1) ; } source = 1; @@ -84,7 +87,7 @@ int main (int argc, char **argv) break; default: - printf("usage: cmd [-p|-s][-n ##]\n"); + print_usage(); break; } } @@ -100,12 +103,12 @@ int main (int argc, char **argv) lg=30; } - //Allocation du message, il est de la taille donnée en paramètre + // Allocation du message, il est de la taille donnée en paramètre char* message = malloc(lg * sizeof(char)); if (source == -1) { - printf("usage: cmd [-p|-s][-n ##]\n"); + print_usage(); exit(1) ; } @@ -133,15 +136,12 @@ int main (int argc, char **argv) } - // Communnication through UDP messages + // Communnication through UDP datagrams if (udp==1){ // Creation du socket local int sock= socket(AF_INET,SOCK_DGRAM,0); if (source==1) { - - - // Creation de l'adresse du socket distant struct hostent *hp ; struct sockaddr_in adr_dest; @@ -172,14 +172,8 @@ int main (int argc, char **argv) afficher_message_envoi(message,lg,i+1); sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest); } - - - } - - else { - - - // Creation de l'adresse du socket distant + } else { // UDP & puit + // Creation de l'adresse du socket local struct sockaddr_in adr_locale; int longueur_adr_locale = sizeof(adr_locale); @@ -205,22 +199,12 @@ int main (int argc, char **argv) // Afficher notre seule et unique triste message afficher_message_reception(message, lg, k); } - - - - } - } - - else{ - + } else { // TCP // Creation du socket local int sock= socket(AF_INET,SOCK_STREAM,0); if (source==1) { - - - // Creation de l'adresse du socket distant struct hostent *hp ; struct sockaddr_in adr_dest; @@ -261,13 +245,7 @@ int main (int argc, char **argv) // Close socket to avoid dangling connections close(sock); - - - } - - else { - - + } else { // TCP & puit // Creation de l'adresse du socket local struct sockaddr_in adr_locale; socklen_t longueur_adr_locale = sizeof(adr_locale); @@ -292,7 +270,7 @@ int main (int argc, char **argv) exit(1); } - int sock_bis; + int sock_bis; // Socket correspondant à la connexion TCP initiée par la source // Accept a single connection on the main thread if ((sock_bis = accept( sock, (struct sockaddr *)&adr_locale, &longueur_adr_locale)) == -1){ printf("échec du accept\n") ; @@ -358,13 +336,11 @@ void afficher_message_reception(char *message, int lg, int numero_envoi) { } int count_digits(int lg) { - int retour; if (!lg){ retour=1; - } - else { + } else { retour=0; while (lg > 0) { lg/=10; @@ -374,3 +350,7 @@ int count_digits(int lg) { return retour; } + +void print_usage() { + printf("usage: cmd [-p|-s][-n ##]\n"); +}