2013-07-29 2 views
1

멀티 캐스트 패킷을 수신하는 busybox (커널 3.0.35 ARM)에서 실행중인 C++ 응용 프로그램이 있습니다. 내가 네트워크 케이블을 뽑은 다음에 플러그를 꽂은 다음 나중에 플러그를 꽂으면 멀티 캐스트 패킷을받지 못한다는 것을 알게 될 때까지 모든 것이 잘 작동하는 것처럼 보였다. 나는 이유를 알 수 없다. 오류가 없으며 모든 설정 작업 (bind, setsockopt, ...)이 성공적으로 끝나고 ip maddr도 올바른 정보를 표시합니다. select() 만 들어오는 데이터를보고하지 않습니다. 링크가 작동하지 않으면 커널이 다르게 수행합니까?소켓이 네트워크 케이블없이 바인드 된 경우 멀티 캐스트 패킷이 수신되지 않음

흥미롭게 같은 응용 프로그램은 또한 서로 다른 주소에서 멀티 캐스트 패킷을 전송하고이 링크 상태에 의해 영향을하지 않는 것, 그것은 행복하게 내가에서 케이블을 연결 한 번에 전송하는 것.

어떤 아이디어?

덕분에, 톰

답변

0

은 아마도 당신은 당신이 시작할 때 가입 발행. 케이블이 연결되어 있지 않으면 IGMP JOIN 요청은 아무데도 갈 수 없기 때문에 라우터는 멀티 캐스트를 전송할 수 있는지를 모릅니다.

+0

Spot on! 고마워. – Tom