Я хочу транслировать сообщения UDP на все компьютеры в локальной сети, используя boost::asio
. Работа через примеры, которые я придумалboost :: asio UDP broadcasting
try {
socket.open(boost::asio::ip::udp::v4());
boost::asio::socket_base::broadcast option(true);
socket.set_option(option);
endpoint = boost::asio::ip::udp::endpoint(
boost::asio::ip::address::from_string("192.168.1.255"),
port);
}
catch(std::exception &e) {
}
и хочу транслировать сообщения из моей очереди с
while(!queue.empty()) {
std::string message = queue.front();
boost::system::error_code ignored_error;
socket.send_to(
boost::asio::buffer(message),
endpoint,
0, ignored_error);
queue.pop_front();
}
но мой код выдает исключение invalid argument
исключения в первом блоке коды. Он отлично работает для 127.0.0.1
. Что я делаю не так?
отлично работает. Благодарю. – nijansen
Как вы можете избежать отправки сообщений самостоятельно? – yonutix
@yonutix Nope, это цель трансляции для отправки сообщения всем (и для этого оно включено). – MicroCheapFx