feat(v2): usage message
This commit is contained in:
parent
a99528d35d
commit
2e156fef2f
1 changed files with 35 additions and 53 deletions
88
tsock_v2.c
88
tsock_v2.c
|
@ -19,23 +19,11 @@
|
|||
#include <errno.h>
|
||||
#define BASE_SIZE 10
|
||||
|
||||
void construire_message(char *message, char motif, int lg) {
|
||||
int i;
|
||||
for (i=0;i<lg;i++) message[i] = motif;
|
||||
}
|
||||
void construire_message(char *message, char motif, int lg);
|
||||
void afficher_message(char *message, int lg);
|
||||
void print_usage();
|
||||
|
||||
void afficher_message(char *message, int lg) {
|
||||
int i;
|
||||
printf("message reçu : ");
|
||||
for (i=0;i<lg;i++){
|
||||
printf("%c", message[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
int main (int argc, char **argv) {
|
||||
int c;
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
|
@ -47,7 +35,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;
|
||||
|
@ -55,7 +43,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;
|
||||
|
@ -70,8 +58,8 @@ int main (int argc, char **argv)
|
|||
break;
|
||||
|
||||
default:
|
||||
printf("usage: cmd [-p|-s][-n ##]\n");
|
||||
break;
|
||||
print_usage();
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,7 +72,7 @@ int main (int argc, char **argv)
|
|||
char* message = malloc(BASE_SIZE * sizeof(char));
|
||||
|
||||
if (source == -1) {
|
||||
printf("usage: cmd [-p|-s][-n ##]\n");
|
||||
print_usage();
|
||||
exit(1) ;
|
||||
}
|
||||
|
||||
|
@ -94,7 +82,6 @@ int main (int argc, char **argv)
|
|||
} else printf("PUITS:");
|
||||
|
||||
|
||||
|
||||
if (nb_message != -1) {
|
||||
if (source == 1)
|
||||
printf("nb de tampons à envoyer : %d\n", nb_message);
|
||||
|
@ -106,7 +93,6 @@ int main (int argc, char **argv)
|
|||
printf("nb de tampons à envoyer = 10 par défaut\n");
|
||||
} else
|
||||
printf("nb de tampons à envoyer = infini\n");
|
||||
|
||||
}
|
||||
|
||||
if (udp==1){
|
||||
|
@ -147,13 +133,7 @@ int main (int argc, char **argv)
|
|||
|
||||
sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
|
||||
} else { // UDP & puit
|
||||
// Creation de l'adresse du socket distant
|
||||
struct sockaddr_in adr_locale;
|
||||
int longueur_adr_locale = sizeof(adr_locale);
|
||||
|
@ -179,22 +159,12 @@ int main (int argc, char **argv)
|
|||
// Afficher notre seule et unique triste message
|
||||
afficher_message(message, longueur_message);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -235,13 +205,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);
|
||||
|
@ -278,13 +242,31 @@ int main (int argc, char **argv)
|
|||
}
|
||||
close(sock_bis);
|
||||
close(sock);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void construire_message(char *message, char motif, int lg) {
|
||||
int i;
|
||||
for (i=0;i<lg;i++) message[i] = motif;
|
||||
}
|
||||
|
||||
void afficher_message(char *message, int lg) {
|
||||
int i;
|
||||
printf("message reçu : ");
|
||||
for (i=0;i<lg;i++){
|
||||
printf("%c", message[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
void print_usage() {
|
||||
printf("usage: tsock_v2 [-psu] [host] <port>\n");
|
||||
printf("parameters: host With -s, address of the host to connect to. Required with -s.\n");
|
||||
printf(" port Port to connect or bind to. Required.\n");
|
||||
printf("options: -p Runs a TCP/UDP sink. Incompatible with -s.\n");
|
||||
printf(" -s Runs a TCP/UDP faucet. Incompatible with -p.\n");
|
||||
printf(" -u Use UDP instead of TCP.\n");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue