0
다음 코드는 내 서브넷에서 UDP 멀티 캐스트 만받습니다. 모든 서브넷에서 UDP 멀티 캐스트를 수신 할 수있는 방법은 무엇입니까?모든 서브넷에서 UDP 멀티 캐스트를 수신 할 수있는 방법은 무엇입니까?
sd = socket(AF_INET, SOCK_DGRAM, 0);
int reuse = 1;
setsockopt(sd, SOL_SOCKET, SO_REUSEADDR,
(char *) &reuse, sizeof(reuse));
memset((char *) &localSock, 0, sizeof(localSock));
localSock.sin_family = AF_INET;
localSock.sin_port = htons(1900);
localSock.sin_addr.s_addr = INADDR_BROADCAST;
bind(sd, (struct sockaddr*) &localSock, sizeof(localSock));
group.imr_multiaddr.s_addr = inet_addr("239.255.255.250");
group.imr_interface.s_addr = inet_addr("192.168.3.2");
setsockopt(sd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
(char *) &group, sizeof(group));
/* Read from the socket. */
하나의 인터페이스 eth0 (및 lo) 만 있습니다. – AndreyKeen
그런 경우 라우터 구성을 봐야합니다. 멀티 캐스트를 통과 시키도록 구성되지 않았습니다. – EJP
하지만 내 컴퓨터의 tcpdump (192.168.3.2)는 네트워크 192.168.1.0/24에서 멀티 캐스트를 포착했습니다. – AndreyKeen