Receive data (up to size
bytes) from a socket.
This function is a variant of [method@Gio.Socket.receive_from] which returns a [struct@GLib.Bytes] rather than a plain buffer.
If address
is non-null then address
will be set equal to the source address
of the received packet.
The address
is owned by the caller.
Pass `-1` to timeout_us
to block indefinitely until data is received (or the connection is closed, or there is an error).
Pass `0` to use the default timeout from [property@Gio.Socket:timeout], or pass a positive number to wait for that many microseconds for
data before returning `G_IO_ERROR_TIMED_OUT`.
this |
a Socket |
address |
return location for a SocketAddress |
size |
the number of bytes you want to read from the socket |
timeout_us |
the timeout to wait for, in microseconds, or `-1` to block indefinitely |
cancellable |
a Cancellable, or `NULL` |
a bytes buffer containing the received bytes, or `NULL` on error |