CSocket::Receive()收包问题
我在客户端发送如下数据
#pragma pack(1)
typedef struct data
{
char name[256];
}data;
#pragma
data D;
char na[] = "xyz";
memcpy(D.name,na,sizeof(na));
m_ControlSock->Send(&D,sizeof(data));
在服务器端的OnReceive()里面直接调Receive
data d;
int r = Receive(&d,sizeof(data),0);
if (r == SOCKET_ERROR )
{
AfxMessageBox("Error");
return;
}
可是不知为什么数据发送过出去之后服务器会多次相应OnReceive(),
每次r都是4,好像数据不是一次发送到的 这是怎么回事
怎样才能一次把那边的data全部接收下来