在书上看到,用select()函数,在readfds集合包括1,有数据可以读入,2连接已经关闭,重设或中止。
我在代码中使用
if(FD_ISSET(client,&readfds))
{
    nRecv=recv(client,buffer,1024,0);
}
就可以判断有数据来了,然后接收。
可我的客户端断开连接后,我使用这句话,就处于死循环的情况,一直在这里打转,且接收到的数据长度为0,这是怎么回事。
怎么才能判断客户端是真的有数据来,还是已经断开连接了?