##### basic_seq_packet_socket::receive (3 of 3 overloads)

Receive some data on a connected socket.

    template<
        typename MutableBufferSequence>
    std::size_t receive(
        const MutableBufferSequence & buffers,
        socket_base::message_flags in_flags,
        socket_base::message_flags & out_flags,
        asio::error_code & ec);

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

###### Parameters

buffers

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

in_flags

  Flags specifying how the receive call is to be made.

out_flags

  After the receive call completes, contains flags associated with the received data. For example, if the `socket_base::message_end_of_record` bit is set then the received data marks the end of a record.

ec

  Set to indicate what error occurred, if any.

###### Return Value

The number of bytes received. Returns 0 if an error occurred.

###### Remarks

The receive operation may not receive all of the requested number of bytes. Consider using the `read` function if you need to ensure that the requested amount of data is read before the blocking operation completes.