]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/fiber/examples/asio/ps/publisher.cpp
2 // blocking_tcp_echo_client.cpp
3 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 // Copyright (c) 2003-2013 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)
15 #include <boost/asio.hpp>
17 using boost::asio::ip::tcp
;
23 int main( int argc
, char* argv
[]) {
26 std::cerr
<< "Usage: publisher <host> <queue>\n";
29 boost::asio::io_context io_context
;
30 tcp::resolver
resolver( io_context
);
31 tcp::resolver::query
query( tcp::v4(), argv
[1], "9997");
32 tcp::resolver::iterator iterator
= resolver
.resolve(query
);
33 tcp::socket
s( io_context
);
34 boost::asio::connect( s
, iterator
);
36 std::string
queue( argv
[2]);
37 std::memset( msg
, '\0', max_length
);
38 std::memcpy( msg
, queue
.c_str(), queue
.size() );
39 boost::asio::write( s
, boost::asio::buffer( msg
, max_length
) );
41 std::cout
<< "publish: ";
42 char request
[max_length
];
43 std::cin
.getline( request
, max_length
);
44 boost::asio::write( s
, boost::asio::buffer( request
, max_length
) );
47 } catch ( std::exception
const& e
) {
48 std::cerr
<< "Exception: " << e
.what() << "\n";