我又要问你们了:总是不知道错在哪。
我有个用MFC边的通信c/s:现在我想把客服端与一个API的程序结合起来与MFC的服务器端进行通信,当然我在API中调用的还是MFC中的Connect等一下函数,联通了,API也能向MFC发数,并且能接收到,可是MFC向API发数虽然成功,但是API却接受不到数据。我用的对象是连接成功的函数的对象调用的Receive函数啊,这是为什么呢?贴一点代码吧:
一下代码都是在API端的,大神们一定要帮帮我啊!!!!!!!!!!!!!!
if (!m_client.Connect(m_sIP,m_nPort))               //用于通信连接,是API里的链接
return 0; char* p=m_yinter.ReadData(0);
int length0=10;
m_client.Send(p,length0);
m_yinter.freeFunc(p);  
............extern CClientSide m_client;
char* pBuf=new char[4000];
pBuf=(char*)pDataBuffer;  m_client.Receive(pBuf);              //若没有数据则会在这一直等
pDataBuffer=(signed long*)pBuf;     

解决方案 »

  1.   

    1、先从物理看,是否发到的对方的网卡上
    2、用抓包工具,看包的内容
    3、虽然socket收发的参数是char *,但不能只当做字符串
      

  2.   

    只要也要判断一下winsock函数调用是否成功?
      

  3.   

    我用GetLAstError查了一下,返回为6,是说句柄无效的意思。这个怎么会和句柄挂钩呢?