I have a "Director" program which broadcasts an M-SEARCH request over a local net. There are four servers in the net, each running the same "Responder" program which should identify the server with an HTTP response.
IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, SSDP_PORT);
client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
client.Client.Bind(groupEP);
Sometimes one or more of the Responders will stall on the Receive action
RequestorEP = null;
byte[] buffer = client.Receive(ref RequestorEP);
Wireshark shows the M-SEARCH messages coming across the net but sometimes the program never appears to read them.
The Servers run Windows 10 and are equipped with two active Ethernet cards connected to different local nets.
The Responder is written in C#.
Any ideas on what to look for next?