我在C++中开发一个服务器,当im在while循环中使用recv()时,它将返回-1的所有时间长度,并且继续循环而不会阻塞。C++ Winsock recv不会阻塞
while(true)
{
char buffer[1024];
int dataLength = recv(socket, buffer, 1024, 0)
cout << dataLength;
}
输出:-1-1-1-1-1-1-1-1-1 .............
任何人知道如何使这个套接字阻塞,直到它recv数据?
在此先感谢!
什么WSAGetLastError返回后打印结果? –
在下面答案给出的线程的帮助下,我设法打印出什么WSAGetLastError,它返回10057 – UnTraDe
'WSAENOTCONN 10057(0x2749) 由于套接字未连接,发送或接收数据请求被禁止一个使用sendto调用的数据报套接字)没有提供地址。“ - [系统错误代码](http://msdn.microsoft.com/en-us/library/windows/desktop/ms681391(v = vs.85)。 aspx) - 学会爱他们。 – chris