que desea difundir mensajes UDP a todos los equipos de una red local utilizando boost::asio
. Trabajando a través de los ejemplos que se me ocurrióimpulso :: asio UDP difusión
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) {
}
y desea difundir mensajes de mi cola con
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();
}
pero mi código produce una excepción invalid argument
excepción en el primer bloque de código. Sin embargo, funciona bien para 127.0.0.1
. ¿Qué estoy haciendo mal?
funciona perfectamente. Gracias. – nijansen
¿Cómo puedes evitar enviar mensajes a ti mismo? – yonutix
@yonutix No, el propósito de la transmisión es enviar mensajes a todos (y, por lo tanto, el uno mismo está incluido). – MicroCheapFx