Re: recv how to [long]

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Ok, I've changed the code again. Now I use a thread. It works better than WSAAsyncSelect but I have a problem (again).

Can anyone tell me if this code is correct?
while (TRUE)
{
static timeval tv;
tv.tv_sec = 10;
tv.tv_usec = 0;
FD_ZERO(&reader);
FD_SET(sock,&reader);
if ((iError = select(0,&reader,NULL,NULL,&tv)) == SOCKET_ERROR)
{
_endthreadex(0);
return 1;
}
if (iError > 0)
{
if (FD_ISSET(sock,&reader))
{
recv(sock,szReciveBuffer,RECIEVE_BUFFER_SIZE,0);
break;
}
}
}

I'm asking becouse recv does not recive all of the data. Before recv function I use sleep(1000), but I don't know if it'a really good idea.

Przemek
.