【发布时间】:2012-03-07 18:56:26
【问题描述】:
我想使用 boost::asio 向本地网络中的所有计算机广播 UDP 消息。完成我想出的例子
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。我做错了什么?
【问题讨论】:
标签: c++ boost udp boost-asio broadcast