代码之家  ›  专栏  ›  技术社区  ›  Will I Am

无法在Windows Server 2008上接收多播

  •  0
  • Will I Am  · 技术社区  · 16 年前

    我有以下代码,在我的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();
            }
    

    然而,在我的Windows2008 R2服务器上(在配置为NAT的单个网络适配器的VMware工作站内运行),我的应用程序没有收到任何数据包。

    如果我运行wireshark,它会显示数据包正在被传送到机器上(它们看起来是正确的,并且它们有正确的多播IP和端口),但是应用层不会接收任何信息(它永远阻塞在.receive中)

    我错过什么了吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Will I Am    16 年前

    虽然我不知道问题出在哪里,但我已经让它开始工作了。可能是计算机上的防火墙配置不正确(我正在尝试使此应用程序对防火墙友好),但这超出了此线程的范围。

    推荐文章