5 // Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
12 #include <boost/array.hpp>
13 #include <boost/asio.hpp>
15 using boost::asio::ip::udp
;
17 int main(int argc
, char* argv
[])
23 std::cerr
<< "Usage: client <host>" << std::endl
;
27 boost::asio::io_context io_context
;
29 udp::resolver
resolver(io_context
);
30 udp::endpoint receiver_endpoint
=
31 *resolver
.resolve(udp::v4(), argv
[1], "daytime").begin();
33 udp::socket
socket(io_context
);
34 socket
.open(udp::v4());
36 boost::array
<char, 1> send_buf
= {{ 0 }};
37 socket
.send_to(boost::asio::buffer(send_buf
), receiver_endpoint
);
39 boost::array
<char, 128> recv_buf
;
40 udp::endpoint sender_endpoint
;
41 size_t len
= socket
.receive_from(
42 boost::asio::buffer(recv_buf
), sender_endpoint
);
44 std::cout
.write(recv_buf
.data(), len
);
46 catch (std::exception
& e
)
48 std::cerr
<< e
.what() << std::endl
;