asio C++ library

PrevUpHomeNext
basic_datagram_socket::receive_from (1 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);

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.

Return Value

The number of bytes received.

Exceptions

asio::system_error

Thrown on failure.

Example

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

asio::ip::udp::endpoint sender_endpoint;
socket.receive_from(
    asio::buffer(data, size), sender_endpoint);

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.


PrevUpHomeNext