Здравствуйте, yuru, Вы писали:
Y>Для пересылки файла с использованием асинхронных сокетов
Y>использую след. фрагмент кода
Y>char buffer[4096];
Y>DWORD dwRead;
Y>// Read in 4096-byte blocks,
Y>do
Y>{
Y>dwRead = mailFile.Read(buffer,4096);
Y>if(Send(buffer,dwRead) == SOCKET_ERROR)
Y>{
Y> //ошибка
Y> return false;
Y>}
Y>}
Y>while (dwRead > 0);
Y>При этом выбрасывается ошибка (Операция на незаблокированном сокете не может быть завершена немедленно).
Y>Что это значит? При пересылке небольших файлов ошибки не возникает. Проблемы начинаются при размере
Y>более 90 kb.
WSAEWOULDBLOCK? Значит, ничего не пришло. Сокет-то неблокирующий. Значит, надо подождать еще.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>