readfds

http://topic.csdn.net/t/20020220/15/534265.html

我的理解是:  
  int   select   (  
      int   nfds,                                                        
      fd_set   FAR   *   readfds,                                
      fd_set   FAR   *   writefds,                              
      fd_set   FAR   *   exceptfds,                            
      const   struct   timeval   FAR   *   timeout      
  );  
  第一個參數nfds沒有用,僅僅為与伯克利Socket兼容而提供。  
  readfds指定一個Socket數組(應該是一個結構,但這裡主要是表現為一個Socket數組),select檢查該數組中的所有Socket。如果成功返回,則readfds中存放的是符合‘可讀性’條件的數組成員(如緩衝區中有可讀的數據)。  
  writefds指定一個Socket數組,select檢查該數組中的所有Socket。如果成功返回,則writefds中存放的是符合‘可寫性’條件的數組成員(如連接成功)。  
  exceptfds指定一個Socket數組,select檢查該數組中的所有Socket。如果成功返回,則cxceptfds中存放的是符合‘有異常’條件的數組成員(如連接失敗)。  
  timeout指定select執行的最長時間,如果在timeout限定的時間内,readfds、writefds、exceptfds中指定的Socket沒有一個符合要求,就返回0。 

原文地址:https://www.cnblogs.com/WeRtogether/p/1581539.html