Recv 能接收大批量的数据吗,该怎么处理

Recv 能接收大批量的数据吗
CList <recvMsg,recvMsg> m_clist;//接收链表

............................
recvMsg msggrvd;

while(pcs->m_thexit)
{
iRet = recv(pcs->m_ServerSocket, (char *)szBuf, Recv_BUF_SIZE, 0);
                        memset(szBuf,0,Recv_BUF_SIZE);
                        memset(&msggrvd,0,sizeof(msggrvd));
if (iRet>0) 
{
if(szBuf != NULL && szBuf[0] != _T(''))
{

if(iRet>sizeof(msggrvd))
memcpy(&msggrvd,szBuf,sizeof(msggrvd));
else
memcpy(&msggrvd,szBuf,iRet);

EnterCriticalSection(&m_GetRecvData);
pcs->m_clist.AddTail(msggrvd);
LeaveCriticalSection(&m_GetRecvData);
}
}
........................................

我将接收到的数据,压入链表,专门开启一个线程来处理链表中的数据,如果服务器,向客户到狂甩数据,recv能响应过来吗,如果不能,应该怎么修改呀
------解决方案--------------------
可以的,网络速度通常有限。
而且tcp协议有flow control,不会过快地发送数据导致另一端来不及接收。