Re[7]: Вопросы по асинх. TCP серверу с пулом потоков (IOCP)
От: Jolly Roger  
Дата: 30.01.11 09:43
Оценка:
Здравствуйте, netch80, Вы писали:

JR>>Она всегда означает одно — в данный момент система не может выполнить запрошенную операцию с этим экземпляром сокета, необходимо попробовать повторить её позже. На WSARecv получить её маловероятно, разве что в случае грубой ошибки в логике.


N>Ну почему же. Есть сообщение о возможности читать, читаем — раз, два, три... на очередной попытке чтения нам говорят, что данных больше нет, вот тогда прекращаем (и запрашиваем следующую нотификацию). Не заводить же сразу буфер на максимальный размер одной посылки? Это будет просто неэкономным.

N>Так что [WSA]EWOULDBLOCK из чтения — абсолютно нормально.

Да, в случае синхронного неблокирующего режима. А я рассматривал overlapped режим, автора топика ведь именно он интересует. Но Вы правы, следовало об этом явно сказать.
"Нормальные герои всегда идут в обход!"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.