Sets the non-blocking mode of the socket.
void non_blocking( bool mode);
true, the socket's
synchronous operations will fail with
if they are unable to perform the requested operation immediately.
operations will block until complete.
Thrown on failure.
The non-blocking mode has no effect on the behaviour of asynchronous
operations. Asynchronous operations will never fail with the error