18,356
社区成员
发帖
与我相关
我的任务
分享
int TCPrecv(SOCKET s,char *buf,int len,int flags)
{
int nRev=0,recvCount=0;
int length =len;
if(buf==NULL)
return 0;
// 循环接收数据
while(length>0)
{
nRev =recv(s,buf+recvCount,length,flags);
if(nRev==0)
return 0;
if(nRev==SOCKET_ERROR)//网络出现异常
{
nRev = WSAGetLastError();
if(nRev != WSAEWOULDBLOCK)
{
printf("Failed recv(),error code:%d\n",WSAGetLastError());
return -1;
}
}
else
{
length-=nRev;
recvCount+=nRev;
}
}
return recvCount; //返回接收到的字节数
}
int TCPrecv(SOCKET s,char *buf,int len,int flags)
{
int nRev=0,recvCount=0;
int length =len;
if(buf==NULL)
return 0;
// 循环接收数据
while(length>0)
{
nRev =recv(s,buf+recvCount,length,flags);
if(nRev==0)
{
break;
}
if(nRev==SOCKET_ERROR)//网络出现异常
{
printf("Failed recv(),error code:%d\n",WSAGetLastError());
break;
}
length-=nRev;
recvCount+=nRev;
}
return recvCount; //返回接收到的字节数
}