##### basic_datagram_socket::receive (1 of 3 overloads)

Receive some data on a connected socket.

    template<
        typename MutableBufferSequence>
    std::size_t receive(
        const MutableBufferSequence & buffers);

This function is used to receive data on the datagram socket. The function call will block until data has been received successfully or an error occurs.

###### Parameters

buffers

  One or more buffers into which the data will be received.

###### Return Value

The number of bytes received.

###### Exceptions

asio::system_error

  Thrown on failure.

###### Remarks

The receive operation can only be used with a connected socket. Use the receive_from function to receive data on an unconnected datagram socket.

###### Example

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

    socket.receive(asio::buffer(data, size));

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