Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 C/C++ 中,如何在 WinSocks 和 *nix 中将阻塞套接字转换为非阻塞套接字;这样 select() 才能正常工作。您可以将预处理器用于特定于平台的代码。
在 Linux 上:
fcntl(fd, F_SETFL, O_NONBLOCK);
窗户:
u_long on = 1; ioctlsocket(fd, FIONBIO, &on);
select() 应该在阻塞套接字上工作。它在 read() 立即返回时返回,非阻塞套接字总是如此。