Boost logo

Boost Users :

Subject: [Boost-users] asynch_write fails when used to write long data
From: A.Agrawal_at_[hidden]
Date: 2009-10-28 02:09:46


Hi,

I have a Client (windows) - server (linux) program which uses boost::asio
asynch methods.

I am getting error when server writes to client using asynch_write and
data is large with size greater than a particular value.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  std::vector<boost::asio::const_buffer> _buffers;
  _buffers.push_back(boost::asio::buffer(outbound_header));
  _buffers.push_back(boost::asio::buffer(outbound_message));
  _buffers.push_back(boost::asio::buffer(outbound_data));

  boost::asio::async_write(_socket, _buffers,
boost::bind(&ClientSession::handle_write, this,
boost::asio::placeholders::error));
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

here outbound_header is of type string of length 8 and has value " 202e5"
          outbound_message is of type string of length 8 and has value "
 2"
           outbound_data when of length 131813. I get error with
error_code - val = 14 (Bad Address)

If I reduce the outbound_data size to 130812, everything is fine. I am
unable to figure out the problem, I thought I can send unlimited size data
in a single call. Please advise if you have any idea. I will be more than
happy to provide you with information that you may need.

Regards,
Anil Agrawal
PTS



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net