fd_set参数:一个用于检查可读性(readfds),一个用于检查可写性(writefds),另一个用于例外数据(exceptfds)。从根本上说,fd_set数据类型代表着一系列特定套接字的集合。其中,readfds集合包括符合下述任何一个条件的套接字:有数据可以读入。连接已经关闭、重设或中止。假如已调用了listen,而且一个连接正在建立,那么accept函数调用会成功。writefds集合包括符合下述任何一个条件的套接字:有数据可以发出。如果已完成了对一个非锁定连接调用的处理,连接就会成功。最后,exceptfds集合包括符合下述任何一个条件的套接字:假如已完成了对一个非锁定连接调用的处理,连接尝试就会失败。有带外(Out-of-band,OOB)数据可供读取。用select对套接字进行监视之前,在自己的应用程序中,必须将套接字句柄分配给一个集合,设置好一个或全部读、写以及例外fd_set结构。将一个套接字分配给任何一个集合后,再来调用select,便可知道一个套接字上是否正在发生上述的I/O活动。Winso