bool tcp_s_lay::receive(char *p_dst, int length)
{
int temp = 0;
int received = 0;
int err_c = 0;
do{
temp = ::recv(soc_ary[act_soc],p_dst+received,length - received,0);
if(temp = SOCKET_ERROR){
if(err_c++ > 10) return false;
Sleep(125);//问题所在
}else{
received += temp;
}
}while(received <length);
return true;
}//这段代码会产生10035错误,问题在哪呢?
Sleep(125);改成 Sleep(0)就行了