本帖最后由 VisualEleven 于 2011-02-16 09:34:55 编辑

解决方案 »

  1.   

    m_Socket.Create(0,SOCK_STREAM,FD_READ | FD_WRITE | FD_CONNECT | FD_CLOSE)
      

  2.   

    没调用AfxSocketInit?
    --调用了AfxSocketInit先保证服务端启动起来,在成功侦听
    --服务器成功侦听到了连接,并打印出newclient found,但客户段代码在Connect函数调用处就是不返回m_Socket.Create(0,SOCK_STREAM,FD_READ | FD_WRITE | FD_CONNECT | FD_CLOSE)
    -- 我的是CSock对象,只用两个参数,和你的前两个参数一样。如果用CAsyncSocket,Connect处返回错误值0x2733
      

  3.   

        sa.sin_family = AF_INET ;
      

  4.   

    你上面客户端的代码是在哪里调用的?
    --是在我实际工程的一个函数里面sa.sin_family = AF_INET ;
    --这样也不行
      

  5.   

    if (!m_Socket.Create()) //m_Socket为CSocket类对象
            return false;    LPHOSTENT hostEntry = gethostbyname("127.0.0.1");
        SOCKADDR_IN serverInfo;
        serverInfo.sin_family = PF_INET;
        serverInfo.sin_addr = *((LPIN_ADDR)*hostEntry->h_addr_list);
        serverInfo.sin_port = htons(8888);
        m_Socket.Connect((LPSOCKADDR)&serverInfo, sizeof(serverInfo)); //总是阻塞在这里
        if (!bSuccess)
            return false;
    我创建一个CDialog工程,用了你上面的代码,该代码放在一个按钮的相应函数中,测试可以连接到服务器,没有问题
      

  6.   

    我创建一个CDialog工程,用了你上面的代码,该代码放在一个按钮的相应函数中,测试可以连接到服务器,没有问题
    ---头大了,我的工程是VS2008下的,死活不行。我在VC6下做了个试验,也成功通过测试。