From: David Jobet on
Hello,

I stumbled accross a problem at work that I cannot explain.

Here it is :
On the same machine, I have :
- Application 1 listening on multicast group G1, port 10000 and publishing
on multicast group G2, port 10000
- Application 2, listening on multicast group G2, port 10000 and also on
multicast group G3, port 10000

G1/10000
|
v
Application 1
|
v
G2/10000 G3/10000
| |
v v
Application 2

It was a requirement in the beginning that Application 1 publishes on the
same multicast port (10000) so that Application 2 can do 2 joins on a single
socket instead of having to create 2 sockets and use a select.
However it's pure coincidence that G1 is also on the same port (I'm going to
change that)

So, the first unexpected effect I'm seeing is that as soon as I launch
Application 2, Application 1 now receives its own traffic.
But I was able to google it and found that was reasonable and expected.

Now, what I don't understand is that if I kill Application 1, Application 2
stop receiving all traffic !!!!

I cannot explain that. I don't understand.
I was expecting that by stopping the application publishing on G2,
Application 2 would stop receiving data on G2 but would still continue to
receive data on G3, but it now receives nothing !

Any idea why this would be the case ?

I'm running Linux 2.6.21 on a RedHat 5.

Tx very much for the help

David