Hi,
I'm working on a UDP Multicast library and got a question on how to properly handle link failures, disconnected/reconnected NIC cables, etc.
As an example, when I join a multicast group I start receiving data on that socket from a multicast sender. Now, when I disable the NIC to which the multicast receiver is bound, I'm not receiving any socket level errors (e.g. inSocket.ReceiveAsync). When I reenable that NIC, I'm not receiving any more data although the sender is still sending on the same multicast group.
I was hoping that the Kernel would actually handle rejoining the multicast group after a hardware link failure but looks like it doesn't. However, since I'm not getting any socket level errors either, I don't really know how to detect a link failure for a multicast receiver?
Are there certain socket options that need to be set so the kernel would rejoin a multicast group?
Thanks,
Tom