I'm having this issue on my Windows 7 machine where a call to MulticastSocket.receive() in Java will hang indefinitely (it never receives the packets) when I try to listen in on a server connected to a non-192.168.X.X network. Provided that the server is connected on the 192.168.X.X network, MulticastSocket.receive() will not hang. I'm fairly sure that this is a configuration issue on my Windows 7 machine, as it works on the other development systems at my workplace running Windows XP and Ubuntu 10.04.
Any help would be appreciated.
Update:
I figured out why MulticastSocket.receive() was hanging indefinitely. What happened was that Windows Firewall was blocking the incoming packets from the network corresponding to my server. A quick fix to this problem was to disable Windows Firewall on that network (in my case, I disabled Windows Firewall on my Public Network). After that, the MulticastSocket.receive() was able to get the incoming packets.