[英]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.