书中:
while(TRUE)
{
    Index = WSAWaitForMultipleEvents(EventTotal,
      EventArray, FALSE, WSA_INFINITE, FALSE);
    Index = Index - WSA_WAIT_EVENT_0;  //已经减过了
   
    //遍历所有事件,查看被传信的事件是否多于一个
   for(i = Index; i < EventTotal; i++)
   {
        ........................
        else
        {
            Index = i;       //也已经减过WSA_WAIT_EVET_0了
            .............................................
            if(NetWorkEvents.lNetworkEvents & FD_READ)
            {
                 ........................
                 recv(SocketArray[Index - WSA_WAIT_EVENT_0],  //Index又减了一次
                 buffer, sizeof(buffer),0);
             }
            //处理FD_WRITE通知,(我认为出了同样的错误)
            ..................................            //处理FD_CLOSE通知(我认为没有问题)
            ................................
         }
   }
}
我看见过一篇同样的帖子,但是他认为是处理FD_CLOSE时出了问题,而前面的两个处理都没有问题,
所以把这段拿上来和大家讨论讨论
希望大侠们指点指点。。