Hello there,
Are you listening for responses on the same port that you sent the query to? Are the machines responding to your broadcast query sending their responses to the same source address and port number that they received them from?
Make sure you are sending and receiving on the same UDP port and test on a fresh, unmodified Windows system.
Usually, the firewall will automatically allow you to receive data on whatever port you sent data on.
Your receiver should not bind to a local address. It should instead bind to either INADDR_ANY or the multicast address you intend on joining. Binding to a local address breaks multicast on Linux systems.
Note that if you bind to a multicast address, this means you'll only receive packets for that multicast address. If you want to receive from multiple multicast addresses or if you also want to receive unicast packets then you need to bind to INADDR_ANY.
Hope this resolves your Query !!
--If the reply is helpful, please Upvote and Accept it as an answer–