멀티캐스트 데이터 수신시에

dreampia의 이미지


기존에 브로드캐스트로 받던 데이터를 멀티캐스트로 수신하게 변경하고 있습니다
udp 소켓을 생성 후 bind한 다음에 아래와 같은 코드를 추가해서 멀티캐스트를 수신하고 있습니다

    mreq.imr_multiaddr.s_addr = inet_addr(svrip);
    mreq.imr_interface.s_addr = htonl(INADDR_ANY);
 
    if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *) &mreq, sizeof(mreq)) < 0)
        printf("setsockopt IP_ADD_MEMBERSHIP error :%s!!\n", strerror(errno));

그외에 recvfrom()하는 부분등 다른 부분은 전혀 수정을 하지 않았습니다

해당 서버에서는 udp로 데이터를 수신한 후 접속된 client에게 대량의 데이터를 전송하고 있습니다
udp로 수신되는 데이터의 양을 엄청나게 엄청나게 많이 늘리면
브로드캐스트로 처리 할때에는 한번도 보지 못했던 멈춤현상이 발생합니다

이럴경우 서버/네트웍 에서 확인할 사항이 있을까요?
또한 소스 상에서 setsockopt()를 통해 다른 옵션을 주거나 다른 처리를 해야 할 부분이 있을까요?