select 模型 客户端:connect返回成功,select检测可写;
服务器:accept并没有返回,(阻塞模式)为什么 啊?

解决方案 »

  1.   

    怎么会?确实怪异。贴点服务器accept周围的代码看看
      

  2.   

    class mysocket{protect:
      HANDLE m_hSocket;
    public:
      void f(){
      socket s = accept( (SOCKET)m_hSocket,0,0 );
       if( s != INVALID_SOCKET )
      {
       m_hSocket = (HANDLE)s;//连接成功;
      }
        };
      static UINT ThreadProc( LPVOID pPram ){
      mysocket *pThis = (mysocket *)pPram;
      pThis->f(); 
      return 0;
      };
      bool CreateSocket( nType )
     {
        Socket s = socket(AF_INET,nType,0 );
        if( SOCKET_ERROR == bind (.......) )
        {
          return false;
        }
        if( SOCKET_ERROR == listen( ..... ) )
        {
           return false
        }
    /// Createthread();
        return ture;
     }
    }
    ////连接成功后重复;
    mysocket *pSocket;
    pSocket = new mysocket;
    pSocket->CreateSocket( SOCK_STREAM );