멀티캐스트 데이터 수신시에
글쓴이: dreampia / 작성시간: 수, 2012/01/04 - 5:17오후
기존에 브로드캐스트로 받던 데이터를 멀티캐스트로 수신하게 변경하고 있습니다
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()를 통해 다른 옵션을 주거나 다른 처리를 해야 할 부분이 있을까요?
Forums:
댓글 달기