我用WSARecv()接受信息,部分代码如下:
char ch1[50]="",ch2[50]="";
WSABUF buf[2];
buf[0].len=sizeof(ch1);
buf[0].buf=ch1;
buf[1].len=sizeof(ch2);
buf[1].buf=ch2;
WSARecv(c,buf,2,NULL,0,NULL,NULL);
但是总是返回10014错误说:The lpBuffers parameter is not completely contained in a valid part of the user address space
请问这是怎么回事?怎么修改?
char ch1[50]="",ch2[50]="";
WSABUF buf[2];
buf[0].len=sizeof(ch1);
buf[0].buf=ch1;
buf[1].len=sizeof(ch2);
buf[1].buf=ch2;
WSARecv(c,buf,2,NULL,0,NULL,NULL);
但是总是返回10014错误说:The lpBuffers parameter is not completely contained in a valid part of the user address space
请问这是怎么回事?怎么修改?
DWORD flag = 0, iNumRecv, iNumSend;
char buf1[30], buf2[30];
lpDataBuf[0].buf = buf1;
lpDataBuf[0].len = 13;
lpDataBuf[1].buf = buf2;
lpDataBuf[1].len = 13;
WSARecv(ConnectSocket, lpDataBuf, 2, &iNumRecv, &flag, NULL, NULL);
有些参数不能为空