Re[5]: CAsyncSocket&Receive
От: butcher Россия http://bu7cher.blogspot.com
Дата: 11.06.04 11:13
Оценка:
Здравствуйте, zaxs, Вы писали:

Z>Точно так. Стормозил и неправильно понял МСДН — библию программиста . Т.е. проблема решаема. Спасибо. Только я вот почитал ответ от "Maxim S. Shatskih" и сделал аналогичный пример, но на блокирующих сокетах без использования МФС. Там действительно не нужно делать Sleep. Вот как выглядит последний самый интересный кусок кода:

Дак на то они и блокирующие сокеты.

Z>Т.е. принимает она нормально, но до поры до времени — пока данные не кончатся, а потом тормоза... В принципе как в теме CAcyncSocket&recv указано, можно через list узнать сколько байт точно нужно читать, но решение честно говоря некрасивое. Неужели нет другого выхода???


Нужно делать select перед вызовом recv, если select скажет вам что можно читать — вперёд, иначе попадаете в блокировку.
Воспользуйтесь поиском по форуму, неделю или две назад я кидал сюда пример с использованием select.

Нет ничего невозможного..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.