]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/fiber/examples/asio/ps/subscriber.cpp
04e583e254fa85af174999d66117629a9dd3c3e3
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: subscriber <host> <queue>\n";
29 boost::asio::io_service io_service
;
30 tcp::resolver
resolver( io_service
);
31 tcp::resolver::query
query( tcp::v4(), argv
[1], "9998");
32 tcp::resolver::iterator iterator
= resolver
.resolve( query
);
33 tcp::socket
s( io_service
);
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 char reply
[max_length
];
42 size_t reply_length
= s
.read_some( boost::asio::buffer( reply
, max_length
) );
43 std::cout
<< "published: ";
44 std::cout
.write( reply
, reply_length
);
45 std::cout
<< std::endl
;
48 } catch ( std::exception
const& e
) {
49 std::cerr
<< "Exception: " << e
.what() << "\n";