I'm writing an app which uses the Indy Multicast Client from Delphi XE5.
When I set Active:=true
, I can see the Multicast Group Request in Wireshark and my managed switch forwards multicasts to my app. But this request is only sent on startup. After a few minutes, IGMP snooping on the switch runs into a timeout and kicks my app from its multicast table. I also have hardware units connected to my local network which send these group reports periodically for themselves and so they stay in the switches multicast list.
How can I sent group requests periodically with Indy?
I tried:
UDPMulticastClient.Bindings[0].AddMulticastMembership(MulticastGroup);
But that throws me an exception ("Error #10022, Invalid Argument").