繁体   English   中英

c#:UDPClient 未从其中一个网络适配器接收多播

[英]c# : UDPClient not receiving multicast from one of the Network Adapters

我想使用 UDP 客户端测试多播消息的接收

我有两个网络适配器。

网络1:与本地IP:10.239.1.1 [组播组:224.1.1.1:42333]

网络2:与本地IP:172.4.1.1 [多播组:224.0.1.1:42333]

注意:我可以在 wire shark 上看到所有多播

在我的程序中,我创建并加入了如下多播组。

    _LocalUDPClient = new UdpClient(new IPEndPoint(_localIpAddress, _multiCastPort));
    _LocalUDPClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

    _LocalUDPClient.JoinMulticastGroup(_multicastIpAddress, _localIpAddress);

    _LocalUDPClient.BeginReceive(new AsyncCallback(ReceiveCallBack), null);

网络 1:

     _localIpAddress = 10.239.1.1
     _multicastIpAddress = 224.1.1.1
     _multiCastPort = 42333

我成功收到多播消息。

但是网络 2:

     _localIpAddress = 172.4.1.1
     _multicastIpAddress = 224.0.1.1
     _multiCastPort = 42333

未接收到任何多播数据。

这不是 c# 代码问题,而是防火墙问题。 在系统设置下打开防火墙和.network保护你应该能够在“允许应用程序通过防火墙”下看到你的.exe。

在我的例子中,我可以用不同的设置看到它 3 次。 我删除了所有内容并手动添加了我的 program.exe 并允许 all.network 类型,我现在得到了多播。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM