As a newbie to Boost asio, can please I ask for some guidance on the following problem (which does seem to get a mention from time to time on the boost lists).

On a dual NIC Linux server, I am unable to get the sample boost asio multicast receiver (http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/example/multicast/receiver.cpp) to receive packets.  It does work fine on a single NIC workstation running the same version of Linux by specify 0.0.0.0 as the listen address, but when I specify the listen address of the correct card on the dual NIC server (A.B.C.D), I get nothing.
I have also tried the following but no luck:
 boost::asio::ip::multicast::join_group joinRequest(multicast_address.to_v4(), listen_address.to_v4());
 socket_.set_option(joinRequest);
 
As a sanity check:
mtools mdump (http://www.29west.com/news/mtools/) shows that multicast data is coming through ok on the dual NIC server on the NIC listenaddress (A.B.C.D) 
eg ./mdump <groupaddress> <port> <listenaddress>.
 
It would be nice if we could get the sample code corrected and working! 
I volunteer to help achieve this ...

Regards,
Andy