How do Sockets functions manage blocking or non blocking?

Can anyone tell me how Mathematica’s socket functions (like SocketConnect or ReadSocketMessage) manage blocking/non blocking?

Basically, I have a script I’ve been transposing from Mathematica into Python. The Python script used to timeout during some socket calls until I set the connection to non-blocking. However, the Mathematica script works without error.

Any info would be helpful, ty!