贴代码,不要对自己的代码过于自信,毕竟winsock等是经过很多资深程序员作出来并经过了长时间的考验的。

解决方案 »

  1.   

    Winsock传送的是buffer中的数据,不存在将0作为结束符的问题,而且SOCKET关闭时,也只是相当于发送0字节的数据,所以你代码其它处可能存在Bug(或许你把数据当串处理了)
      

  2.   

    char *ReceiveMsg;
    ReceiveMsg=new char[1024];
    memset(ReceiveMsg,0,1024);
    m_pClientSocket->Receive(ReceiveMsg,1024);
    就是这样