У меня есть 2 сетевых адаптера, один физический и один настоящий. Я хочу присоединиться к группе многоадресной рассылки, используя метод JoinMulticastGroup () для прослушивания на физическом NIC. IP физического NIC - 10.5.1.1, а виртуальный - 10.4.3.2 (я не хочу использовать этот). Проблема в том, что, глядя на wireshark, IGMP для запроса на присоединение к многоадресной группе выходит только из виртуальной сетевой карты, даже когда я четко указываю конечную точку 10.5.1.1. Как мне решить эту проблему? Мне нужно указать сетевой адаптер (идеальный) или прослушать все сетевые карты (не идеальный). Отключение виртуальной сетевой карты в Windows - это не вариант.
if (this.isMulticast) //problematic code
{
IPEndPoint localNIC_Endpoint = new IPEndPoint(ipAddressLocalNIC, listenPort);
listener = new UdpClient(localNIC_Endpoint);
listener.JoinMulticastGroup(ipAddressEndpoint); // IGMP out of the 10.4.3.2 interface happens instead of going out of the 10.5.1.1 interface
}
else //this code below is not the problem
{
listener = new UdpClient
{
ExclusiveAddressUse = false
};
listener.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
endPoint = new IPEndPoint(ipAddressEndpoint, listenPort);
listener.Client.Bind(endPoint);
}