14 using boost::asio::ip::udp;
28 std::stringstream sPort;
31 udp::resolver::query query(udp::v4(), ip_address.c_str(), sPort.str());
33 boost::system::error_code ec;
35 socket_.open(boost::asio::ip::udp::v4(), ec);
38 if (ec.value() == boost::system::errc::success)
42 else if (ec.value() == boost::asio::error::invalid_argument)
60 boost::system::error_code ec;
63 if (ec.value() == boost::system::errc::success)
89 boost::asio::placeholders::error,
90 boost::asio::placeholders::bytes_transferred));
96 (void)bytes_transferred;
98 if (!error || error == boost::asio::error::message_size)
100 std::vector<uint8_t> payload;
101 boost::system::error_code ec;
102 uint32_t available =
socket_.available();
103 payload.resize(available, 0);
105 socket_.receive_from(boost::asio::buffer(payload, available),
112 if (response.size() > 0)
116 boost::asio::placeholders::error,
117 boost::asio::placeholders::bytes_transferred));
127 const boost::system::error_code& ec, std::size_t bytes_transferred)
132 (void)bytes_transferred;