#include "server.h" int DROP_UDP_SERVER(const int pPort, int* pListenSock){ if( DEBUGMOD&HDR ) printf("====== DROP_UDP_SERVER(%d, %p) ======\n\n", pPort, (void*) pListenSock); /* [0] Initialisation des variables =========================================================*/ // CREATION struct sockaddr_in addr; int STATUS; // status // INITIALISATION *pListenSock = -1; /* [1] Création de la socket =======================================================*/ *pListenSock = socket(AF_INET, SOCK_DGRAM, 0); if( DEBUGMOD&SCK ) printf("\t\tUDP SOCKET = %d\n", *pListenSock); // si erreur if( *pListenSock < 0 ) return -1; /* [2] On définit les infos de la socket =========================================================*/ /* (1) Reset des valeurs */ bzero(&addr, sizeof(struct sockaddr_in)); /* (2) On définit les infos */ addr.sin_family = AF_INET; addr.sin_port = htons(pPort); addr.sin_addr.s_addr = htonl(INADDR_ANY); /* [3] On publie la SOCKET =======================================================*/ STATUS = bind(*pListenSock, (struct sockaddr*) &addr, sizeof(struct sockaddr_in)); if( DEBUGMOD&SCK ) printf("\t\tUDP BIND = %d\n", STATUS); // si erreur if( STATUS < 0 ) return -1; /* [n] Code succès =========================================================*/ return 0; }