自己写了一个一个iocp服务端的程序,运行没问题,然后加入利用mysql++(单独运行的也很好)写的一个程序部分代码,打算通过socket发送命令查询mysql数据库。
只要mysql一连接WSARecv()必定出错,错误代码10045。试着把mysql查询放到WSARecv()前面执行,让mysql++部分单独执行一个查询倒是正常,但是运行到wsarecv一定出错。反正WSARecv()就是容不下mysqlpp存在。
发送数据的client端倒是显示正常,数据成功发送。
实在搞不明白那里的毛病,那位高手给解答一下,高分相送。

解决方案 »

  1.   

    自己顶一下,为了排除mysql++库的影响用mysql实验,结果一样。
      

  2.   

    DWORD dwFlags=0;
    WSARecv(sClient, &as.m_wsaBuf, as.m_wsaBuf.len, &dwRecvBytes, &dwFlags, &as.m_overlapped, NULL);
    自己解决了,原来是dwflags没有置0,郁闷了一晚上。
    以为mysql和winsock有冲突呢。
    不过还是不太明白为什么没有mysql就能正常运行。