diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-29 14:15:09 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-29 14:16:25 +0200 |
| commit | 4dd767d9a09feee221e5770b7f0d46fbb6c52455 (patch) | |
| tree | e8529adec33ff5f104c5ef5f6cf98c2badcc4a1e /network-handler/client.cpp | |
| parent | c08315d3bbff8e6fa071b12600ab53c63d6cffdc (diff) | |
| download | cmix-4dd767d9a09feee221e5770b7f0d46fbb6c52455.tar.gz cmix-4dd767d9a09feee221e5770b7f0d46fbb6c52455.tar.bz2 cmix-4dd767d9a09feee221e5770b7f0d46fbb6c52455.zip | |
Changes to boost::asio::streambuf for storage of async_receive.
Diffstat (limited to 'network-handler/client.cpp')
| -rw-r--r-- | network-handler/client.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/network-handler/client.cpp b/network-handler/client.cpp index 816753c..c2825d7 100644 --- a/network-handler/client.cpp +++ b/network-handler/client.cpp @@ -15,9 +15,12 @@ Client::Client(tcp::socket &&socket) void Client::handle_receive(const error_code &ec, size_t read_bytes) { + buffer.commit(read_bytes); + std::istream is(&buffer); + if(!ec) { - std::string str(buffer.begin(), buffer.end()); - std::cout << "Received: " << str << std::endl; + std::vector<uint8_t> data(std::istream_iterator<uint8_t>(is), {}); + std::cout << "Received: " << std::string(data.begin(), data.end()) << std::endl; receive(); } else { on_done(); @@ -27,9 +30,8 @@ void Client::handle_receive(const error_code &ec, size_t read_bytes) void Client::receive() { using namespace boost::asio::placeholders; - memset(buffer.data(), 0, buffer.size()); socket.async_receive( - boost::asio::buffer(buffer), + buffer.prepare(512), boost::bind(&Client::handle_receive, this, error(), bytes_transferred()) ); } |
