send一次只能发送一个缓冲,可以在循环里判断是否发送完毕。 而WSASend 可以一次发送多个缓冲,怎么判断是否发送完毕? 内有代码示例
char p[2048];
nLeft=2048;
while(nLeft>0)
{
ret=send(sock,p,nLeft);
.....
nLeft-=ret;
}
但是WSASend呢? 怎么做。
难道也是照猫画虎?
char p1[2];
char p2[64];
char p3[2];
int iLefts[3];
int iSends[3];
sends[0]=2;sends[0]=64;sends[3]=2;
while (iLeft[0]>0 || iLeft[1]>0 || iLeft[2]>0)
{
WSASend(sock,wsabuffer,3,iSends...);
iLeft[0]-=iSends[0];
iLeft[1]-=iSends[1];
iLeft[2]-=iSends[2];
}
是这样吗????