Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Are you joining the multicast group first? You have to explicitly tell the OS the group that you want to join before it will deliver you a group's messages. There's a command you can access with <code>setsockopt()</code> to join a multicast group. From the <a href="http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man4/ip6.4.html" rel="nofollow noreferrer">Darwin ip6 manpage</a>:</p> <pre><code>IPV6_JOIN_GROUP struct ipv6_mreq * Join a multicast group. A host must become a member of a multicast group before it can receive datagrams sent to the group. struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; ipv6mr_interface may be set to zeroes to choose the default multicast interface or to the index of a particular multicast-capable interface if the host is multihomed. Membership is associ- ated with a single interface; programs running on multihomed hosts may need to join the same group on more than one interface. If the multicast address is unspecified (i.e., all zeroes), messages from all multicast addresses will be accepted by this group. Note that setting to this value requires superuser privileges. </code></pre> <p>I found some example code <a href="https://svn.testnett.uninett.no/qflow/trunk/collector/nfnet.c" rel="nofollow noreferrer">here</a>:</p> <pre><code>struct ipv6_mreq mreq6; memcpy(&amp;mreq6.ipv6mr_multiaddr, &amp;(((struct sockaddr_in6 *)addr)-&gt;sin6_addr), sizeof(struct in6_addr)); mreq6.ipv6mr_interface= 0; err = setsockopt(sockfd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &amp;mreq6, sizeof(mreq6)); if (err) fprintf(stderr, "setsockopt IPV6_JOIN_GROUP: %s\n", strerror (errno)); </code></pre> <p>But maybe you're doing this already?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload