如题。

解决方案 »

  1.   

    DWORD WINAPI ListenThread(LPVOID lpParameter)
    {
        CMyDoc *doc = (CMyDoc *)lpParameter;    SOCKET hclient;
        CString clientip;
        while (1)
    {
        //doc->m_server为MyDoc类的成员、CMySocket类的对象
        if (doc->m_server->ListenLogIn(hclient, clientip))
    {
        int n = send(hclientsocket, "12345678", 8, 0);
        n = GetLastError();
        ......
        ......
    }
    }
        
        return 0;
    }BOOL CMySocket::ListenLogIn(SOCKET &client, CString &clientip)
    {
    if (listen (m_handle, 5) == SOCKET_ERROR)
    {
    return FALSE;
    }

    struct sockaddr_in clientaddr;
    int clientaddrlength = sizeof (clientaddr);
    clientsocket = accept (m_handle, (LPSOCKADDR) & clientaddr, & clientaddrlength);

    if (clientsocket == INVALID_SOCKET)
    {
    return FALSE;
    }

    clientip = inet_ntoa(clientaddr.sin_addr);
    return TRUE;
    }
      

  2.   

    你的调用判断发送有问题。
    应该是:
     int n = send(hclientsocket, "12345678", 8, 0);
    if(n == -1)
    {n = GetLastError();
       return n;
    }
    else return 0;