##### basic_datagram_socket::receive_from (2 of 3 overloads)

Receive a datagram with the endpoint of the sender.

    template<
        typename MutableBufferSequence>
    std::size_t receive_from(
        const MutableBufferSequence & buffers,
        endpoint_type & sender_endpoint,
        socket_base::message_flags flags);

This function is used to receive a datagram. 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.

sender_endpoint

  An endpoint object that receives the endpoint of the remote sender of the datagram.

flags

  Flags specifying how the receive call is to be made.

###### Return Value

The number of bytes received.

###### Exceptions

asio::system_error

  Thrown on failure.