Nonblocking sockets in Windows?

I’m working on what may become a multi-platform GUI LAN chat program,
which communicates by setting callbacks that the toolkit’s main loop
calls when a socket is readable or writable. This means nothing can
block or the GUI will be unresponsive during that time.

In Linux I can use IO#fcntl to make the socket nonblocking, but is there
any way to do this with the Windows installer version?

Also, is there a way to have TCPSocket#new not block, besides just doing
what it does with BasicSocket? The problem is that TCPSocket makes the
socket and connects it all in the constructor, so there’s no time to set
the socket as nonblocking.

Thanks,

···


Tom Felker