192.168.XX 以外のネットワークに接続されたサーバーでリッスンしようとすると、Java の MulticastSocket.receive() への呼び出しが無期限にハングする (パケットを受信しない) Windows 7 マシンでこの問題が発生しています。 . サーバーが 192.168.XX ネットワークに接続されている場合、MulticastSocket.receive() はハングしません。Windows XP と Ubuntu 10.04 を実行している職場の他の開発システムで動作するため、これは Windows 7 マシンの構成の問題であると確信しています。
どんな助けでも大歓迎です。
アップデート:
MulticastSocket.receive() が無期限にハングする理由がわかりました。何が起こったのかというと、Windows ファイアウォールが、私のサーバーに対応するネットワークからの着信パケットをブロックしていたということでした。この問題の簡単な解決策は、そのネットワークで Windows ファイアウォールを無効にすることでした (私の場合は、パブリック ネットワークで Windows ファイアウォールを無効にしました)。その後、 MulticastSocket.receive() は着信パケットを取得できました。