Boost logo

Boost Users :

From: Ákos Maróy (akos_at_[hidden])
Date: 2008-09-02 10:35:39


John Urberg wrote:
> 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?

I'm getting a similar error. Is there a fix to this issue?

Akos


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