boost :: diffusion asio UDP
Je veux UDP de diffusion des messages à tous les ordinateurs d'un réseau local à l'aide boost::asio
. De travail à travers les exemples que je suis venu avec
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) {
}
et souhaitez diffuser des messages de ma file d'attente avec
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();
}
mais mon code déclenche une exception invalid argument
exception dans le premier bloc de code. Il fonctionne très bien pour 127.0.0.1
. Ce que je fais mal?
source d'informationauteur nijansen | 2012-02-16
Vous devez vous connecter pour publier un commentaire.
Essayez l'extrait de code suivant pour envoyer une diffusion UDP, en utilisant les
ba::ip::address_v4::broadcast()
appeler pour obtenir un point de terminaison: