From a78d2ab8277f2dcdaa2c61e9c3485249cd6a9d61 Mon Sep 17 00:00:00 2001 From: Simon Paris Date: Wed, 11 Jan 2023 17:21:29 +0100 Subject: [PATCH] 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