WSARecv (AccetpEx连接上了,投递WSARecv 扔出一个10057错误)
更加郁闷的就是,昨晚写完好好的能运行。。今天早上,不修改源码,直接运行。。然后扔错误
还要郁闷的不是在XP 系统上,直接运行不起来~~~~~~~~~求解啊

解决方案 »

  1.   

    估计是你的AccetpEx投递的参数有问题,那个客户端socket参数是需要事先创建的
      

  2.   

    搞定了,,clientSock = socket(.....);
    pPerHandle->m_ClientSock = clientSock;AcceptEx(m_ServiceSock, clientSock........)//服务线程=====================
    AcceptEx(pPerHandle->m_ListenSock, pPerHandle->m_ClientSock......)....
    //不知道是昨晚运气好还是啥,居然没错,或是现在运气好,没错,搞不明白。。
    //反正现在两处投放都改成了后一种了。。没报错。。但getpeername还是报错,10057
    //现在就差XP跑不动的问题了还得装个虚拟机,跑XP 调试改错了
      

  3.   

    反正现在两处投放都改成了后一种了。。没报错。。但getpeername还是报错,10057
    你应该看看MSDN有关AcceptEx这个函数的Re:
    //需要拷贝属性的
    err = setsockopt( sAcceptSocket, 
        SOL_SOCKET, 
        SO_UPDATE_ACCEPT_CONTEXT, 
        (char *)&sListenSocket, 
        sizeof(sListenSocket) );
      

  4.   


    可以得到地址了。MSDN 强大啊。。不过看不懂英文一个字一个字的翻译
    XP下不能跑太郁闷了虚拟机还原XP系统总是一半就死掉了,不动。。郁闷。
      

  5.   

    XP是可以跑的,我的IOCP_API库在XP下跑的很正常
    应该还是你的代码写的有问题
      

  6.   


    最后使用静态MFC库编译后 XP下就可以跑了。。谢谢各位,,结账