From 3b42dc82e86f60ac681736285bc04b660c5f279d Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Wed, 11 Jan 2023 17:59:18 +0100 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20plusieurs=20fichiers=20pou?= =?UTF-8?q?r=20permettre=20un=20meilleur=20arrangement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ puit | Bin 25600 -> 0 bytes source | Bin 25608 -> 25608 bytes source.c | 12 ++++++------ tsock.c | 22 ++++++++++++++++++++++ tsock.h | 17 +++++++++++++++++ 6 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 main.c delete mode 100755 puit create mode 100644 tsock.c create mode 100644 tsock.h diff --git a/main.c b/main.c new file mode 100644 index 0000000..b5c2637 --- /dev/null +++ b/main.c @@ -0,0 +1,51 @@ +#include "tsock.h" + +int main (int argc, char **argv) +{ + int c; + extern char *optarg; + extern int optind; + int nb_message = -1; /* Nb de messages à envoyer ou à recevoir, par défaut : 10 en émission, infini en réception */ + int source = -1 ; /* 0=puits, 1=source */ + while ((c = getopt(argc, argv, "pn:s")) != -1) { + switch (c) { + case 'p': + if (source != -1) { + printf("usage: cmd [-p|-s][-n ##]\n"); + exit(1); + } + source = 0; + break; + case 's': + if (source != -1) { + printf("usage: cmd [-p|-s][-n ##]\n"); + exit(1) ; + } + source = 1; + break; + case 'n': + nb_message = atoi(optarg); + break; + default: + printf("usage: cmd [-p|-s][-n ##]\n"); + break; + } + } + + if (source == -1) { + printf("usage: cmd [-p|-s][-n ##]\n"); + exit(1); + } + + setNbMessage(&nb_message,source); + printInfo(nb_message,source); + + if(source) + { + printf("Source : %d\n",nb_message); + } + else + { + printf("Puit : %d\n",nb_message); + } +} \ No newline at end of file diff --git a/puit b/puit deleted file mode 100755 index 842cde3f7fc9a222bf7da54cd44f30388d17e73d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25600 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 ZG0x+9GmqZ@)Y5PGl#;l?q2OS}KLK;`pqT&w diff --git a/source b/source index 358ccba951b0392251887a99978fa10e86efb367..3468d3f38d22dd1e95b51217b9037aa25db23675 100755 GIT binary patch delta 323 zcmeA;!Ps$vaYIHBqsrvWAmhnfflbRoL?S52N6 zBF?xTY|eqn2Sda)&w%U#s%${>%SEX81gN;c=9eKiSvH@K)Mw-=&QH!xEpg7tOwB9V J{5Oi5696&-KIZ@c delta 313 zcmeA;!Ps$vaYIHBqv7PtAY)xY21$kq4h{?;AOI#A7}m2eFbFa5F=PojfJLgH;=3kq z3=)?-2$E&uXLtgYg-S9UpZqXLobmkRKp^=LOnw2A?2{J;i!(}rNu9}s!QztotRTB2 z7&4&t!c4FMsbLKR$|_9W$Rx~|I{6|{XAxLu%Vfq7ea6X?4MW5wO@S&v?z>iLgl4pUkf=m(&1!#8PoP01ueDjBpODsIa`N`R-CBdmh SWvNA*4@Md=ZvGd=#R&lCOhO(2 diff --git a/source.c b/source.c index 45e5e4e..84ee9f9 100644 --- a/source.c +++ b/source.c @@ -15,7 +15,7 @@ void initSocket(); int sock; int lg_emis; struct hostent *hp; -struct sockaddr_in socketServer; +struct sockaddr_in socketClient; int main(void) { @@ -24,9 +24,9 @@ int main(void) printf("échec création du socket\n"); exit(1); } - memset(&socketServer, 0, sizeof(socketServer)); + memset(&socketClient, 0, sizeof(socketClient)); initSocket(); - lg_emis=sendto(sock, "aaaaa", 6, 0, (struct sockaddr*)&socketServer, sizeof(socketServer)); + lg_emis=sendto(sock, "aaaaa", 6, 0, (struct sockaddr*)&socketClient, sizeof(socketClient)); printf("lgemis = %d\n",lg_emis); close(sock); return 0; @@ -34,12 +34,12 @@ int main(void) void initSocket() { - socketServer.sin_family=AF_INET; - socketServer.sin_port=htons(PORT_NUM); + socketClient.sin_family=AF_INET; + socketClient.sin_port=htons(PORT_NUM); if((hp = gethostbyname("localhost")) == NULL) { printf("erreur gethostbyname\n"); exit(1); } - memcpy((char*)&(socketServer.sin_addr.s_addr),hp->h_addr_list[0],hp->h_length); + memcpy((char*)&(socketClient.sin_addr.s_addr),hp->h_addr_list[0],hp->h_length); } \ No newline at end of file diff --git a/tsock.c b/tsock.c new file mode 100644 index 0000000..9db2872 --- /dev/null +++ b/tsock.c @@ -0,0 +1,22 @@ +#include "tsock.h" + +void setNbMessage(int * nb, int source) +{ + if((*nb == -1) && (source)) + { + *nb = 10; + } +} + +void printInfo(int nb, int source) +{ + if(source) + { + printf("tsock lance en mode source, nombre de tampons à envoyer : %d\n", nb); + } + else + { + printf("tsock lance en mode puit, nombre de tampons à recevoir :"); + nb != -1 ? printf("%d\n", nb) : printf("infini\n"); + } +} \ No newline at end of file diff --git a/tsock.h b/tsock.h new file mode 100644 index 0000000..da163c4 --- /dev/null +++ b/tsock.h @@ -0,0 +1,17 @@ +#ifndef HEADER_TSOCK +#define HEADER_TSOCK + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void setNbMessage(int * nb, int source); +void printInfo(int nb, int source); + +#endif \ No newline at end of file