Reputation: 3867
I'm devleoping a server in c++ and when im using recv() in a while loop it returns all the time length of -1 and also continue the loop without blocking.
while(true)
{
char buffer[1024];
int dataLength = recv(socket, buffer, 1024, 0)
cout << dataLength;
}
output: -1-1-1-1-1-1-1-1-1.............
Anyone knows how to make this socket to block until it recievs data?
Thanks in advance!
Upvotes: 0
Views: 2091
Reputation: 76
maybe there is an error during initilization try calling GetLastError() and printing the result after each call
Upvotes: 2
Reputation: 37
As James suggested, check if a socket error occured. recv()
s default behaviour is to block. See also this thread here.
Upvotes: 0