in reply to Same multicast packet received by multiple NICs

I've no experience of using IO::Socket::Multicast, but all the examples supply Proto => 'udp' on the constructor -- you do not.

Looking at the source, it does add that parameter on the consructor, but only if *no parameters* are supplied.

It also adds it to the parameter list in the configure method before passing through to the SUPER->configure method, but only if the Proto attribute does not already exist; and as you do not call that method directly, it is unclear to me whether it will get added if you supply some parameters to new() but not that one.

Soemthing to consider.

Also, you appear to be using the server address as the LocalAddr parameter of the constructor rather than the PeerAddr, which looks wrong to me; but (again), I've never used the module.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

Replies are listed 'Best First'.
Re^2: Same multicast packet received by multiple NICs
by sophate (Beadle) on Jun 01, 2012 at 23:09 UTC

    thanks for the reply. The socket is associated with the right NIC. From the results of "netstat -g", if can see the sockets bind to the correct NICs. I don't think "Proto => 'udp'" matters here as it is udp by default for the IO::Socket::Multicast constructor. By using tcpdump, I can see the traffic I expected, i.e. if one path is having issue, no results from tcpdump. But the recv call stills get the data from another NIC that is getting mcast packets!

    I suspect this is an issue with "sockets" as I have another multicast client "mdump"(written in C, https://community.informatica.com/solutions/1470) behaves the same way!