$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: John Urberg (john-urberg_at_[hidden])
Date: 2008-08-11 11:08:02
I'm using async_send_to to send multicast messages.  When I try to send data in
a std::string, I always get a 'string iterator not dereferencable' assertion
failure.  I'm using boost 1.35 and VC9.  Here's the code:
// instance variable
string buffer;
// code in method
buffer = BuildHailMessage();
socket.async_send_to(
   boost::asio::buffer(buffer),
   endpoint,
   boost::bind(
      &MulticastServer::HandleSendTo, 
      this,
      boost::asio::placeholders::error));
I've also tried using char* buffer, dynamically allocating it based on the
message length and then use std::copy to copy the std::string into the buffer,
but I get heap corruption assertions when trying to delete [] it.
The only way I've gotten this to work is using a fixed char[] buffer. 
Is there a way I can use a std::string with async_send_to?  Do I need to use a
different type of asio::buffer class?
Thanks,
John