可以在select中使用相同的fd进行读写

Arp*_*pit 1 c linux windows select linux-kernel

我希望使用相同的套接字fd进行读写操作.让我们说"fd"是我在那种情况下正在处理的那个

FD_SET(fd, &readfd);  
FD_SET(fd,&writefd);

select(fd+1, &readfd, &writefd, 0,200):
Run Code Online (Sandbox Code Playgroud)

将保持良好或它将返回我的错误.

我认为因为writefd和readfd是不同的集合,所以在两个集合中都可以设置相同的fd.如果我错了,请纠正我.

谢谢Arpit

感谢您的快速回复..我可以在轮询POLLIN和POLLOUT中执行与相同fd相同的行为.

nos*_*nos 5

这是可以的,并且是监视读取和写入的相同fd的正确方法.select的最后一个参数是struct timeval,而不是整数.