我在服务器端和客户端定义一个结构:
typedef struct
{
int type;
char buf[SIZEFILE];
}DATA;客户端发送这个结构,服务器端该怎样接收??
因为服务器是采用完成端口,是用WSABUF来接收数据

解决方案 »

  1.   

    客户端:
    DATA d;
    send(&d, sizeof(d),...服务器端:
    DATA d;
    recv(&d,sizeof(d),...
      

  2.   

    在服务器端用WSASend该怎么发送结构呀
      

  3.   

    你可以定义这样一个结构
    typedef struct
    {
    WSAOVERLAPPED Overlapped;
    int type;
    char buf[SIZEFILE];
    }DATA;服务器调用WSARecv,并传入参数Overlapped的地址
    和一个LPWSABuf,LPWSABuf的buf指向buf,lpwsabuf->len等于要收的长度
      

  4.   

    服务器端可以用字符串接受然后用结构强制转化
    char buf[255] = {0};
    recv(buf,sizeof(DATA),...
    DATA *data = (DATA*)buf;data就具有了结构的性质