Re[6]: CAsyncSocket&Receive
От: zaxs  
Дата: 11.06.04 11:39
Оценка:
Здравствуйте, butcher. Сделал обработку ошибок:
while (BufLen>0)
{
Sleep(100);
BufLen=ServerSocket.Receive(lpBuf,65536,0);
// tema.Format("%d",BufLen);
// AfxMessageBox(tema);

// write to the file
if (BufLen<=0)
{
equal_flag=ServerSocket.GetLastError();
SetLastError(10000);
// equal_flag=ServerSocket.GetLastError();
if(equal_flag==WSAEWOULDBLOCK)
{
BufLen=1;
continue;
}
break;
}
fletter.Write(lpBuf,BufLen);
}
только очередная засада: даже когда данные кончаются все равно выдается ошибка WSAEWOULDBLOCK. Думал что он запомнил последнюю ошибку и не обновляет ее поэтому вставил строку: SetLastError(10000); но все равно продолжает генерироваться такая ошибка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.