С# UdpClient как отправить сообщение через определенный интерфейс

Есть задача, отправлять широковещательноее сообщение в локальную сеть, столкнулся с такой проблемой: у меня в arp таблице несколько интерфейсов, и при попытке отправить UDP на 235.5.5.11 его отправляет на не тот интерфейс, ну и в локалку естественно оно не попадает. Пробовал очистить arp таблицу, но безрезультатно, даже при отсутствии адреса у обоих интерфейсов выбирает не тот введите сюда описание изображения


Ответы (1 шт):

Автор решения: Сергей

Не нашел решения, отправляю на все просто по очереди, которые храню в LocalAddresses.

foreach(var localaddress in LocalAddresses)
{
    // создаем соект для работы по пратоколу UDP, в сети Internet, для передачи дейтаграмных сообщений
    Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
    IPAddress broadcast = IPAddress.Parse(localaddress.BroadIP);

    var message = SelfName.Name;
    byte[] sendbuf = Encoding.ASCII.GetBytes(message);// кодируем сообщение из строки в битовый массив
    IPEndPoint ep = new IPEndPoint(broadcast, remotePort);// создаем полыный адрес получателя, тоесть добавляем к IP еще и прот

    s.SendTo(sendbuf, ep);// отправлем сообщение на адрес получателя
    Console.WriteLine("Message was sent to the broadcast address");

    Thread.Sleep(5000);
}
→ Ссылка