请教一个关于 winsockt TCP recv大数据时的问题
无他 2013-04-23 02:49:48 //recv_d是一个168000字节的大数据
int len=sizeof(recv_d);
while(len>0)
{
ret=recv(recvs,(char*)recv_d+ret,len,0);
if (ret==SOCKET_ERROR)
{
closesocket(recvs); //关闭套接字句柄
cout<<"与服务器连接错误"<<endl;
return 0;
}
len=len-ret;
//查看一下每次实际recv的字节数
char aaa[5];
itoa(ret,aaa,10);
AfxMessageBox(aaa);
}
症结所在:程序运行时,有时候循环一次收到168000字节的数据,数据没有问题:有时循环两次,分别收到20000,148000的数据,也没问题;但是有时循环3次,4次或者更多,每次收到不等的数据(加起来总共168000),这时候的数据就有问题了,刚学网络编程,望前辈们不吝赐教,(*^__^*) 嘻嘻……