Недавно я изменил свою программу, которая раньше использовала TCP/IP для многоадресной рассылки UDP, благодаря чему использовалось намного меньше ресурсов.UDP Многоадресная рассылка с несколькими сетями в C#
Проблема, с которой я столкнулся, заключается в том, что на нескольких машинах, где я планировал использовать их, есть две или более сетевых карты с запущенными соединениями.
Могу ли я выбрать, какое соединение с многоадресной рассылкой находится на уровне программы? Я попытался изменить различные настройки в системе, например, сетевые приоритеты, но ничего не получилось.
Для мультикастинга я использую:
UdpClient publisher = new UdpClient(IP, Port);
publisher.Send(data, data.Length);
Где IP является одним из многоадресного диапазона (в основном 230.X.X.X).
В случае TCP/IP, который был раньше, я мог бы указать EntryPoint на IP-адресе для определенной сетевой карты, но здесь, похоже, это невозможно, потому что мне нужно отправлять пакеты по многоадресному адресу, а не на моей машине.
Благодарим за любую помощь заранее.
Использовать EndPoint: IPAddress ip = IPAddress.Parse ("192.168.1.28"); IPEndPoint ep = новый IPEndPoint (ip, порт); UdpClient publisher = новый UdpClient (ep); Затем привяжите, как показано на следующей веб-странице: https://msdn.microsoft.com/en-us/library/ekd1t784(v=vs.110).aspx – jdweng