0

我有以下代码在我的 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 服务器(在 VMWare Workstation 内运行,将单个网络适配器配置为 NAT)上,我的应用程序没有收到任何数据包。

如果我运行wireshark,它表明数据包正在传送到机器(它们看起来正确并且它们具有正确的多播IP和端口)但应用程序层没有收到任何信息(它在.Receive中永远阻塞)

我错过了什么吗?

4

1 回答 1

0

我已经让它工作了,虽然我不确定问题是什么。可能是机器上的防火墙配置不正确(我试图让这个应用程序对防火墙友好),但这超出了这个线程的范围。

于 2010-02-17T00:23:14.430 回答