为什么不用事件FD_READ等去驱动socket呢?
WSAAsyncSelect(s,m_hWnd,WM_USER,FD_READ|FD_CLOSE);

解决方案 »

  1.   

       if(connect(sOcket,(struct sockaddr *)&server,sizeof(server))==SOCKET_ERROR)
    {
               strcpy(mEssage,"连接失败!可能服务器没有启动!请检查!\n");
               //SendMessage(Handle,UM_WRITEDATA,(unsigned int)mEssage,0);
               return false;
    }
      

  2.   

     WSAAsyncSelect(aCceptsOcket,hWndsOck, UM_SOCK_NOTIFY, FD_READ|FD_CLOSE);
     while (GetMessage(&mEssaGemSg, hWndsOck, 0, 0))
       {
       switch (WSAGETSELECTEVENT(mEssaGemSg.lParam))
       {
             case FD_READ:
          {
          }
          break;
             case FD_CLOSE:
                      {
                        ExitThread(0);
                        return -1;
                      }
    }
      

  3.   

    小女子,请把send 和recv的flag设为0,应该就没问题了。
    if((nBytesReceived = send(sConnect, cSlength, 6, 0)) == SOCKET_ERROR){
      MessageBox(NULL,"Send error","test",MB_OK);
      return S_FALSE;}
    if((nBytesReceived = recv(sConnect, cLength, 4, 0)) == SOCKET_ERROR){
      MessageBox(NULL,"Receive error","test",MB_OK);
      return S_FALSE;}
      

  4.   

    干吗要用阻塞式的,我同意用sendmessage(zz)兄台的方法;
    不会有错的。
      

  5.   

    恩,我改为“0”,就对了,谢谢hbao2k(sailing)了,~-~
      

  6.   

    ToArrao(浪子阿飞):我也赞成sendmessage(zz)的方法,可是我没成功啊 
      

  7.   

    我只用API,不用MFC,怎么实现呢?
      

  8.   

    我有代码~API~MFC都有~100%没有问题~
    要不要啊~
      

  9.   

    [email protected]
    [email protected]都可以
      

  10.   

    sendmessage(zz),可以给我发一份吗?拜托了,好吗?
      

  11.   

    在COM中:
    我的m_hWnd用RegisterClass时,
    WNDCLASS  wc;
    wc.hInstance = AfxGetInstanceHandle();
    提示:“  AfxGetInstanceHandle();undeclared identifier”怎么办呢?