Non-blocking sockets

Is it possible to do asynchronous sockets? Specifically, connect, read, and write? Also, is there no truly asynchronous select() that doesn’t wait at all (not even 5ms)?

Is there a document that outlines these kinds of limitations?