是不是recv以后要再WSAAsyncSelect一次我用的是CAsyncSocket,不是很清楚 
不过我也有类似问题  路过的朋友帮我看看
http://www.csdn.net/expert/topic/345/345274.shtm

解决方案 »

  1.   

    读完以后要重新置消息,也就是再Select一次!
      

  2.   

    不行呀,我早就试过了再WSAAsyncSelect(m_cket,m_hWnd,WM_CLIENT_READ,FD_READ)一次
      

  3.   

    哪以类的处理会导致这样的问题呢我用CAsyncSocket有类似情况
      

  4.   

    外面控制m_recv的TRUE or FALSE
    LRESULT CMainFrm::OnClientRead(WPARAM wParam, LPARAM lParam)
    {
        if(m_recv)
    recv(m_Socket, (LPSTR)(chIncomingDataBuffer+iEnd), iSpaceRemaining, NO_FLAGS);
    }
    ??????????????