Je suis en train de recevoir des données de multidiffusion à partir de l'interface de réseau spécifique sur CentOS 5,5reçoivent multicast de l'interface de réseau spécifique sur Linux
sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(1234);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(sd, (sockaddr*)&addr, sizeof(sockaddr_in));
setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, "eth0", 5);
Mais je reçois des paquets de toutes les interfaces.
Quel mal?
Si ce pas 'setsockopt (sd, SOL_SOCKET, SO_BINDTODEVICE, "eth0", 4);'? (remarquez le 4 vs 5). –
J'ai essayé setsockopt (sd, SOL_SOCKET, SO_BINDTODEVICE, "eth0", 4), mais le setsockopt() a échoué. Je pense (pas sûr) que 5 inclut la fin zéro. – Dima