9 io_service_ = std::make_shared<boost::asio::io_service>();
10 udp::endpoint local_endpoint = local_endpoint = udp::endpoint(udp::v4(), stoi(port));
23 udp::endpoint udp_endpoint = udp::endpoint(boost::asio::ip::address::from_string(
address_), 0);
25 port_ = std::to_string(
socket_->local_endpoint().port());
40 boost::system::error_code
error;
41 udp::endpoint sender_endpoint;
42 len =
socket_->receive_from(boost::asio::buffer(buf), sender_endpoint);
43 if (
error == boost::asio::error::eof)
53 timer_->expires_from_now(boost::posix_time::seconds(expiry_time));
54 timer_->async_wait([
this, &expiry_time](
const boost::system::error_code&
error) {
56 if (
error.message() ==
"Success")
58 std::cout <<
"Time out: No packets received in " << expiry_time <<
" seconds" << std::endl;
62 boost::optional<boost::system::error_code> read_result;
63 udp::endpoint sender_endpoint;
65 socket_->async_receive_from(boost::asio::buffer(buf), sender_endpoint,
66 [&len, &read_result](
const boost::system::error_code&
error,
size_t received) {
68 read_result.reset(
error);
73 if (read_result && read_result->value() == 0)