]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/example/cpp03/tutorial/daytime1/client.cpp
5 // Copyright (c) 2003-2020 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::tcp
;
17 int main(int argc
, char* argv
[])
23 std::cerr
<< "Usage: client <host>" << std::endl
;
27 boost::asio::io_context io_context
;
29 tcp::resolver
resolver(io_context
);
30 tcp::resolver::results_type endpoints
=
31 resolver
.resolve(argv
[1], "daytime");
33 tcp::socket
socket(io_context
);
34 boost::asio::connect(socket
, endpoints
);
38 boost::array
<char, 128> buf
;
39 boost::system::error_code error
;
41 size_t len
= socket
.read_some(boost::asio::buffer(buf
), error
);
43 if (error
== boost::asio::error::eof
)
44 break; // Connection closed cleanly by peer.
46 throw boost::system::system_error(error
); // Some other error.
48 std::cout
.write(buf
.data(), len
);
51 catch (std::exception
& e
)
53 std::cerr
<< e
.what() << std::endl
;