One or more data buffers to be sent on the socket. Although the
buffers object may be copied as necessary, ownership of the underlying
memory blocks is retained by the caller, which must guarantee that
they remain valid until the handler is called.

flags

Flags specifying how the send call is to be made.

handler

The handler to be called when the send operation completes. Copies
will be made of the handler as required. The function signature
of the handler must be:

voidhandler(constboost::system::error_code&error,// Result of operation.
std::size_tbytes_transferred// Number of bytes sent.
);

Regardless of whether the asynchronous operation completes immediately
or not, the handler will not be invoked from within this function.
Invocation of the handler will be performed in a manner equivalent
to using boost::asio::io_service::post().