1 回答

TA贡献1784条经验 获得超9个赞
好的,所以我回到这个并找到了正确的操作。必须使用多个接口加入
var availableMulticastNics = Utils.GetAvailableMulticastInterfaces();
var listener = new UdpClient();
listener.Client.Bind(new IPEndPoint(IPAddress.Any, endpoint.Port));
foreach (var ni in availableMulticastNics)
{
listener.Client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(multicastEndPoint.Address, ni.GetIPProperties().GetIPv4Properties().Index));
}
// Ready to read socket
而不是listener.JoinMulticastGroup(ni.GetIPProperties().GetIPv4Properties().Index, multicastEndPoint.Address). 否则,我会收到一个 SocketException,它告诉我无效的参数,如果可以的话,有人可以解释一下。
- 1 回答
- 0 关注
- 254 浏览
添加回答
举报