使用Socket时候的一个的发现。该如何解决

使用Socket时候的一个的发现。
首先建立CClientSocket   :   public   CSocket

在CTestDlg中   CClientSocket   m_ClientSocket
void   test()
{
      IsRecv=true;
      m_ClientSocket.Create();
      m_ClientSocket.Connect( "127.0.0.1 ",4000);
      m_ClientSocket.Send( "asdfas ",6);
      while(IsRecv==false)           //这个将是是循环,也就是说永远走不到OnReceive
      {
          ::Sleep(100);
      }
}

void   CClientSocket::OnReceive(int   nErrorCode)  
{
          ((CTestDlg*)pWnd)-> IsRecv=true;
            CSocket::OnReceive(nErrorCode);
}

服务器端流程:
接受到数据
返回数据

------解决方案--------------------
m那可不一定哦,CClientSocket 是一个自己继承的
类吧,里面肯定起了线程了