14 using boost::asio::ip::tcp;
27 std::stringstream sPort;
30 tcp::resolver::query query(tcp::v4(), ip_address, sPort.str());
31 tcp::resolver::iterator it = res.resolve(query);
32 boost::system::error_code ec;
36 if (ec.value() == boost::system::errc::success)
40 else if (ec.value() == boost::asio::error::invalid_argument)
56 boost::system::error_code ec;
59 if (ec.value() == boost::system::errc::success)
75 error_.assign(boost::system::errc::success, boost::system::system_category());
77 msg->resize(
socket_.available(), 0);
78 boost::asio::read(
socket_, boost::asio::buffer(*msg),
error_);
83 if (
error_.value() == boost::system::errc::success)
94 error_.assign(boost::system::errc::success, boost::system::system_category());
96 msg->resize(bytes_to_read, 0);
97 boost::asio::read(
socket_, boost::asio::buffer(*msg), boost::asio::transfer_exactly(bytes_to_read));
102 if (
error_.value() == boost::system::errc::success)
113 boost::system::error_code ec;
114 boost::asio::write(
socket_, boost::asio::buffer(msg), ec);
116 if (ec.value() == boost::system::errc::success)