跟发char*没啥区别,强制转型一下,计算结构体大小的时候注意字节对齐。

解决方案 »

  1.   

    WSASendTo() 和sendto差不多,都是处理udp发送,就是WSASendTo() 多了重叠io的作用,若果没有用重叠io,不用理会这个参数,其实直接可以用sendto,对于新手比较容易理解。
      

  2.   

    点击这里查看WSASendTo的参数。http://baike.baidu.com/view/569172.htm?fr=aladdin
    我给个例子:
     WSABUF DataBuf;
     DataBuf.len = BufLen;
     char SendBuf[100] = "我要发送给你";
      DataBuf.buf = SendBuf;
      DWORD BytesSent = 0, Flags = 0;
     WSASendTo(SendSocket/*你创建的socket*/, 
      DataBuf/*发送的数据,包含大小,内容*/, 
      2,
       &BytesSent,
       Flags,
       (sockaddr*) &RecvAddr/*这个接收端的地址*/,
      sizeof(RecvAddr),
       NULL,
       NULL);
      

  3.   

     error C2440: '=' : cannot convert from 'struct draw2 *' to 'char *'
    老是出现这个问题,不知道怎么办了  强制转换也转不过来啊
      

  4.   

    struct draw2 d;
    struct draw2 *pd=&d;
    (char *)pd
      

  5.   

     error C2440: '=' : cannot convert from 'struct draw2 *' to 'char *' 强制转换怎么也不行啊 
    ====================================发送:
    struct draw2 dr;
    send(sock, (char*)(&dr), sizeof(dr),0);//draw2 结构体地址和 char*地址是可以转化的,你试试看接收:
    struct draw2 dr2;
    recv(sock, (char*)(&dr2), sizeof(dr2),0);