Что бы указать нужную сетевую карту надо после sock=socket(..)
сделать этому сокету bind(sock,localAddress) где localAddress взять
не ноль, а адрес этого компьютера в нужной сети (в нужной сетевой
карте). Тогда запрос на адрес 255.255.255.255 пойдет в эту сеть.
Иначе, как я понял, возьмется первая попавшаяся сеть, свяжется с
этим сокетом и все запросы будут идти только туда. Но если вы
знаете IP адрес в нужной сети, тогда проще сразу слать
широковещательно именно в эту сеть, изменив адрес на a.b.c.255. Это если маска подсети 255.255.255.0. Для другой маски надо ее учесть, типа (adress|(~mask)). При этом автоматически произойдет bind с нужной сетью.