我有以下代码可以在我的Windows 2003服务器上正常运行:
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)
我错过了什么吗?
答案 0 :(得分:0)
我已经开始工作,虽然我不确定问题是什么。它可能是机器上不正确的防火墙配置(我试图让这个应用程序对防火墙友好)但这超出了这个线程的范围。