##### basic_stream_socket::send (2 of 3 overloads)

Send some data on the socket.

    template<
        typename ConstBufferSequence>
    std::size_t send(
        const ConstBufferSequence & buffers,
        socket_base::message_flags flags);

This function is used to send data on the stream socket. The function call will block until one or more bytes of the data has been sent successfully, or an until error occurs.

###### Parameters

buffers

  One or more data buffers to be sent on the socket.

flags

  Flags specifying how the send call is to be made.

###### Return Value

The number of bytes sent.

###### Exceptions

asio::system_error

  Thrown on failure.

###### Remarks

The send operation may not transmit all of the data to the peer. Consider using the `write` function if you need to ensure that all data is written before the blocking operation completes.

###### Example

To send a single data buffer use the `buffer` function as follows:

    socket.send(asio::buffer(data, size), 0);

See the `buffer` documentation for information on sending multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.