a buffer to read data into (which should be at least size bytes long).
the number of bytes you want to read from the socket
whether to do blocking or non-blocking I/O
a GCancellable or NULL. [allow-none]
Number of bytes read, or -1 on error
GException on failure.
This behaves exactly the same as g_socket_receive(), except that the choice of blocking or non-blocking behavior is determined by the blocking argument rather than by socket's properties. Since 2.26