提问人:Christopher Dolan 提问时间:10/5/2008 更新时间:10/5/2008 访问量:3423
为 WinSocks 和 *nix 制作非阻塞套接字
Making a Nonblocking socket for WinSocks and *nix
问:
在 C/C++ 中,如何在 WinSocks 和 *nix 中将阻塞套接字转换为非阻塞套接字;这样 select() 才能正常工作。您可以将预处理器用于特定于平台的代码。
答:
7赞
hazzen
10/5/2008
#1
在 linux 上:
fcntl(fd, F_SETFL, O_NONBLOCK);
视窗:
u_long on = 1;
ioctlsocket(fd, FIONBIO, &on);
5赞
wnoise
10/5/2008
#2
select() 应该用于阻塞套接字。当 read() 立即返回时,它会返回,非阻塞套接字总是如此。
上一个:DDD 和异步存储库
评论