From ca448f9e0f2920e78d02909f1f49cda3f4e0ec71 Mon Sep 17 00:00:00 2001 From: Simon Paris Date: Wed, 11 Jan 2023 15:57:08 +0100 Subject: [PATCH 1/4] changement du port : 8000 --- puit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puit.c b/puit.c index d36501e..65db67e 100644 --- a/puit.c +++ b/puit.c @@ -9,7 +9,7 @@ #include #define _OE_SOCKETS -#define PORT_NUM 9000 +#define PORT_NUM 8000 void initSocket(); From 4b7f6b110320a8c4faa9b495d1629f4263e28fdb Mon Sep 17 00:00:00 2001 From: Simon Paris Date: Wed, 11 Jan 2023 16:17:04 +0100 Subject: [PATCH 2/4] passage creation socket en fonction --- puit.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/puit.c b/puit.c index 65db67e..b5b58f0 100644 --- a/puit.c +++ b/puit.c @@ -9,9 +9,10 @@ #include #define _OE_SOCKETS -#define PORT_NUM 8000 +#define PORT_NUM 9000 void initSocket(); +void creationSocket(int *socketTemp); int sock; char buffer[1024]; @@ -20,14 +21,8 @@ struct sockaddr_in socketClient,socketServer; int main(void) { - if((sock=socket(AF_INET,SOCK_DGRAM,0)) == -1) - { - printf("échec création du socket\n"); - exit(1); - } - memset(&socketClient, 0, sizeof(socketClient)); - memset(&socketServer, 0, sizeof(socketServer)); - + + creationSocket(&sock); initSocket(); @@ -57,4 +52,18 @@ void initSocket() exit(1); } memcpy((char*)&(socketServer.sin_addr.s_addr),hp->h_addr_list[0],hp->h_length); +} + +void creationSocket(int *socketTemp){ + +if((*socketTemp=socket(AF_INET,SOCK_DGRAM,0)) == -1) + { + printf("échec création du socket\n"); + exit(1); + } + memset(&socketClient, 0, sizeof(socketClient)); + memset(&socketServer, 0, sizeof(socketServer)); + + + } \ No newline at end of file From a78d2ab8277f2dcdaa2c61e9c3485249cd6a9d61 Mon Sep 17 00:00:00 2001 From: Simon Paris Date: Wed, 11 Jan 2023 17:21:29 +0100 Subject: [PATCH 3/4] initSocketAddr --- puit.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/puit.c b/puit.c index b5b58f0..2d1ac1e 100644 --- a/puit.c +++ b/puit.c @@ -11,19 +11,19 @@ #define _OE_SOCKETS #define PORT_NUM 9000 -void initSocket(); +void initSocketAddr(struct sockaddr_in *socketServerTemp, int source); void creationSocket(int *socketTemp); + int sock; char buffer[1024]; -struct hostent *hp; struct sockaddr_in socketClient,socketServer; int main(void) { creationSocket(&sock); - initSocket(); + initSocketAddr(&socketServer,0); if (bind(sock, (const struct sockaddr *)&socketServer, sizeof(socketServer)) < 0 ) @@ -42,16 +42,25 @@ int main(void) return 0; } -void initSocket() -{ - socketServer.sin_family=AF_INET; - socketServer.sin_port=htons(PORT_NUM); - if((hp = gethostbyname("localhost")) == NULL) +void initSocketAddr(struct sockaddr_in *socketTempStruct, int source) +{ + struct hostent *hp; + socketTempStruct->sin_family=AF_INET; + socketTempStruct->sin_port=htons(PORT_NUM); + if(source) { - printf("erreur gethostbyname\n"); - exit(1); + if((hp = gethostbyname("localhost")) == NULL) + { + printf("erreur gethostbyname\n"); + exit(1); + } + memcpy((char*)&(socketTempStruct->sin_addr.s_addr),hp->h_addr_list[0],hp->h_length); } - memcpy((char*)&(socketServer.sin_addr.s_addr),hp->h_addr_list[0],hp->h_length); + else + { + socketTempStruct->sin_addr.s_addr=INADDR_ANY; + } + } void creationSocket(int *socketTemp){ @@ -64,6 +73,4 @@ if((*socketTemp=socket(AF_INET,SOCK_DGRAM,0)) == -1) memset(&socketClient, 0, sizeof(socketClient)); memset(&socketServer, 0, sizeof(socketServer)); - - } \ No newline at end of file From 3d1c55b429bda8ddfbe5843545d4d4ca4356627b Mon Sep 17 00:00:00 2001 From: Simon Paris Date: Wed, 11 Jan 2023 17:52:14 +0100 Subject: [PATCH 4/4] passage en fonction fin --- puit.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/puit.c b/puit.c index 2d1ac1e..06ea25c 100644 --- a/puit.c +++ b/puit.c @@ -12,21 +12,20 @@ #define PORT_NUM 9000 void initSocketAddr(struct sockaddr_in *socketServerTemp, int source); -void creationSocket(int *socketTemp); +void creationSocket(int *socketTemp, struct sockaddr_in *socketTempStruct); -int sock; char buffer[1024]; -struct sockaddr_in socketClient,socketServer; +struct sockaddr_in socketClient; int main(void) { - - creationSocket(&sock); - initSocketAddr(&socketServer,0); + int sock; + creationSocket(&sock,&socketClient); + initSocketAddr(&socketClient,0); - if (bind(sock, (const struct sockaddr *)&socketServer, sizeof(socketServer)) < 0 ) + if (bind(sock, (const struct sockaddr *)&socketClient, sizeof(socketClient)) < 0 ) { perror("bind failed"); exit(EXIT_FAILURE); @@ -44,11 +43,11 @@ int main(void) void initSocketAddr(struct sockaddr_in *socketTempStruct, int source) { - struct hostent *hp; socketTempStruct->sin_family=AF_INET; socketTempStruct->sin_port=htons(PORT_NUM); if(source) - { + { + struct hostent *hp; if((hp = gethostbyname("localhost")) == NULL) { printf("erreur gethostbyname\n"); @@ -59,18 +58,17 @@ void initSocketAddr(struct sockaddr_in *socketTempStruct, int source) else { socketTempStruct->sin_addr.s_addr=INADDR_ANY; - } + } } -void creationSocket(int *socketTemp){ +void creationSocket(int *socketTemp, struct sockaddr_in *socketTempStruct){ if((*socketTemp=socket(AF_INET,SOCK_DGRAM,0)) == -1) { printf("échec création du socket\n"); exit(1); } - memset(&socketClient, 0, sizeof(socketClient)); - memset(&socketServer, 0, sizeof(socketServer)); + memset(socketTempStruct, 0, sizeof(*socketTempStruct)); } \ No newline at end of file