Re: СAsyncSocket передача данных
От: crashed США  
Дата: 16.03.06 15:21
Оценка:
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.