Если вы используете C ++, я бы рекомендовал использовать пакет Boost ASIO для работы в сети. Единственное, что нужно - это обязательно установить возможность вещания на своем сокете UDP через:
boost::asio::socket_base::broadcast option(true);
socket.set_option(option);
В разделе «Примеры» документации по бусту должно быть много ссылок, чтобы вы могли приступить к работе.