Windows2003サーバーで正常に動作する次のコードがあります。
static void Main(string[] args)
{
UdpClient sock = new UdpClient(5353);
IPAddress multicastIP = IPAddress.Parse("224.0.0.251");
IPEndPoint multicastEndpoint = new IPEndPoint(multicastIP, 5353);
sock.JoinMulticastGroup(multicastIP);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0);
Console.WriteLine("Ready...");
byte[] data = sock.Receive(ref iep);
...
sock.Close();
}
しかし、私のWindows 2008 R2サーバー(NATとして構成された単一のネットワークアダプターを使用してVMWare Workstation内で実行されている)では、アプリケーションはパケットを受信しません。
Wiresharkを実行すると、パケットがマシンに配信されていることを示しています(正しく見え、正しいマルチキャストIPとポートを持っています)が、アプリケーション層は何も受信しません(.Receiveで永久にブロックされます)
私は何かが足りないのですか?