本帖最后由 VisualEleven 于 2010-10-13 18:36:12 编辑

解决方案 »

  1.   

    把错误代码写出来,你ASSERT跳出错误么?那是因为你句柄没拿到吧。
      

  2.   

    点击按钮触发OnConnect()时就会跳出框显示:
     Debug Assertion Failed! 
     FIle:sockcore.cpp 
     Line:334
    然后retry就会跳到:
    BOOL CAsyncSocket::AsyncSelect(long lEvent)
    {
    ASSERT(m_hSocket != INVALID_SOCKET);_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;
    ASSERT(pState->m_hSocketWindow != NULL);return WSAAsyncSelect(m_hSocket, pState->m_hSocketWindow,
    WM_SOCKET_NOTIFY, lEvent) != SOCKET_ERROR;
    }指向ASSERT(m_hSocket != INVALID_SOCKET);这行,请问这是什么意思呢?是不是定义的hSocket有问题?
      

  3.   

    在.cpp里加了个winsock的初始化语句
       if (!AfxSocketInit())//初始化winsock
           {
    AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    return FALSE;
    }
    现在不跳出上边的异常了,但是运行时错误指向sockRecv.Attach(pThis->hSOCKET); 这行。
    显示的错误是First-chance exception in RMM.exe: 0xC0000005: Access Violation.
    请问那位知道,这是指针的问题么?怎么改呢?