本帖最后由 VisualEleven 于 2011-06-29 10:21:52 编辑

解决方案 »

  1.   

    本帖最后由 VisualEleven 于 2011-06-29 10:21:09 编辑
      

  2.   

    发送端直接发送
    UserInformation user;
    user.xx = ...
    ...
    Send(&user, sizeof(user));接收端直接接收
    UserInformation user = {0};
    Recv(&user, sizeof(user));试试
      

  3.   

    int nLen = Receive( pbuf, 1024);
    memcpy( &m_RecvUserInfo, pbuf, nLen);
      

  4.   

    memcpy( &m_RecvUserInfo, pbuf, sizeof(UserInformation)); 
    你这样不加头不加尾传数据,没法判断接收到的是不是一个包不可靠,发送端将两次包打成一包发过来,接收端不就接收不就有问题了嘛
      

  5.   

    有道理
    可以先发些短的进行握手
    然后再发大的包
    不过你这个应用
    最后一句memcpy的最后一个参数确实不应该是1024吧
      

  6.   


    对哦 看下Receive的返回值 即为接收的字节数
    nLen 与结构体长度比较下!