Nonblocking Input/Output

If a socket is in nonblocking mode, any I/O operation must either complete immediately or return the error code WSAEWOULDBLOCK indicating that the operation cannot be finished right away. In the latter case, a mechanism is needed to discover when it is appropriate to try the operation again with the expectation that the operation will succeed. A set of network events has been defined for this purpose. These events can be polled or waited on by using WSPSelect, or they can be registered for asynchronous delivery by calling WSPAsyncSelect or WSPEventSelect. See Notification of Network Events for more information.