将cmd参数设置为FIONBIO,*argp=0即设置成阻塞模式,而*argp非0即可设置成非阻塞模式。但是windows平台需要注意一个地方,如果你对一个socket调用了WSAAsyncSelect()或WSAEventSelect()函数后,你再调用ioctlsocket()函数将该socket设置为非阻塞模式,则会失败,你必须先调用WSAAsyncSelect()通过设置lEvent参数为0或调用WSAEven...
在Windows平台上,可以通过调用ioctlsocket函数来改变socket的阻塞模式。将cmd参数设置为FIONBIO,同时将*argp参数设置为0或非0,即可分别设置socket为阻塞模式或非阻塞模式。需要注意的是,如果对socket调用了WSAAsyncSelect()或WSAEventSelect()函数后,再尝试使用ioctlsocket()将socket设置为非阻塞模式,将会失...
用IOCTL可以做到。BOOL IOCtl( long lCommand, DWORD* lpArgument );lCommand:FIONBIO Enable or disable nonblocking mode on the socket.参考资料:MSDN