|
Boost Users : |
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
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