1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
//les tests des retours des différentes fonctions
//ont été enlevé pour rendre le code plus lisible
SOCKET initBroadCast(void)
{
SOCKET hSocket;
int bBroadCast = 1;
SOCKADDR_IN sUdp;
SOCKADDR_IN srv_addr;
unsigned ulLocalPort = 10000;
unsigned ulRemotePort = 10001;
struct in_addr sLocalAdress;
hSocket = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP) ;
setsockopt (hSocket, SOL_SOCKET, SO_BROADCAST,(char *) &bBroadCast, sizeof (bBroadCast));
memset (&sUdp, 0, sizeof(sUdp));
sUdp.sin_family = AF_INET ;
sUdp.sin_addr.s_addr = htonl(INADDR_ANY);
sUdp.sin_port = htons ((unsigned short)ulLocalPort) ;
bind (*phSocket, (SOCKADDR *) &sUdp, sizeof (SOCKADDR_IN)) ;
memset(&srv_addr, 0, sizeof(srv_addr));
srv_addr.sin_family = AF_INET;
sLocalAddr.S_un.S_addr = inet_addr("192.168.255.255");
memcpy(&srv_addr.sin_addr, &sLocalAddr, sizeof(sLocalAddr));
srv_addr.sin_port = (short)htons( (unsigned short) ulRemotePort);
connect (hSocket, (LPSOCKADDR)&srv_addr, sizeof(srv_addr);
return hSocket;
} |
Partager