こんにちは、
set socket option IP_ADD_SOURCE_MEMBERSHIP を使用して、10 個を超える送信元アドレスを追加します。しかし、10 個の送信元アドレスを追加すると、それ以上追加できなくなります。ソケットごとに 10 個を超えるアドレスを追加する方法を教えてください。私のコードは次のとおりです。
sock = ソケット (AF_INET、SOCK_RAW、IPPROTO_UDP);
/* 以下のコードが 10 回以上繰り返されています */
struct ip_mreq_source mc_req;
mc_req.imr_multiaddr.s_addr = grpaddr;
mc_req.imr_interface.s_addr = ifaddr;
mc_req.imr_sourceaddr.s_addr = srcaddr;
if ((setsockopt (sock, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP,
(void*) &mc_req,
sizeof (mc_req))) < 0)
{
printf ("Can't set IP_ADD_SOURCE_MEMBERSHIP!\n");
exit (1);
}
10 個の送信元アドレスを追加すると、Can't set IP_ADD_SOURCE_MEMBERSHIP! というエラーが発生します。
前もって感謝します
デブジョティ