SYS_NETFD sd is the platform-independent socket descriptor.
char *buf is the buffer to receive the bytes.
int sz is the maximum number of bytes to read.
int timeout is the number of seconds to allow for the read operation before returning. Do not use timeout to return because not enough bytes were read in the given time instead, use this parameter to limit the amount of time devoted to waiting until some data arrives.