WSAWaitForMultipleEvents,等待的多个SOCKET使用FALSE时,只返回一个,如果一个事件对象总有网络事件发生,会令后面的网络事件的不到处理,这个好理解,可是解决方法却是这样:  WSAEVENT ev = ::WSACreateEvnet();
  ::WSAEventSelect(sListen, ev, FD_ACCEPT| FD_CLOSE);
  eventArr[nT] = ev;
  sockArr[nT] = sListen;  while(1){
  int index = ::WSAWaitForMultipleEvents(nT, eventArr, FALSE, WSA_INFINITE, 0);
  index = index - WSA_WAIT_EVENT_0;
  
  for (int i=index; i<nT; i++){
    index = ::WSAWaitForMultipleEvents(1, eventArr[i], FALSE, 1000, 0);
    if (index == timeout)//....
       continue;
    else{
      WSANETWORKEVENT event;
      WSAEnuNetWorkEvents(sockArr[i], eventArr[i], &event);
      if (FD_ACCEPT)....//添加nT,,,
      if (FD_READ)....
     .....
      }
   }//end for
  }//end while不明白的是对第一个有网络事件为什么要调用FOR()的语句,不会出现问题吗?
第一次WAIT到后,在区WAIT一次,应该WAIT不到把,此事件如果是人工重置,怎么看不到重置的代码?